Распечатайте несколько строк как одну строку, если они соответствуют шаблону. ⇐ Linux
-
Anonymous
Распечатайте несколько строк как одну строку, если они соответствуют шаблону.
У меня есть файл с несколькими строками, и я хочу объединять строки только в том случае, если они соответствуют определенному шаблону. Я знаю, что могу присоединиться к строкам, например:
$ cat input.txt 1 00:02:34,654 --> 00:02:36,554 Шон, пойдем. 2 00:02:38,358 --> 00:02:40,724 Ага. Детектив. у нас есть возможный 187 на шоссе 59. 3 00:03:04,584 --> 00:03:06,051 Прямо по этому пути. 4 00:05:01,301 --> 00:05:03,269 Как давно это здесь?./ Вторник. $ cat input.txt | perl -00 -lpe '$i = 0; s/\n/(++$i > 2) ? " " : "\n"/ge' 1 00:02:34,654 --> 00:02:36,554 Шон, пойдем. 2 00:02:38,358 --> 00:02:40,724 Ага. Детектив. у нас есть возможный 187 на шоссе 59. 3 00:03:04,584 --> 00:03:06,051 Прямо по этому пути. 4 00:05:01,301 --> 00:05:03,269 Как давно это здесь?./Вторник. Но как я могу решить, соответствует ли линия шаблону (только если у них есть '/')?. Итак, в этом случае результат, которого я хотел бы достичь, будет следующим:
1 00:02:34,654 --> 00:02:36,554 Шон, пойдем. 2 00:02:38,358 --> 00:02:40,724 Ага. Детектив. у нас есть возможный 187 на шоссе 59. 3 00:03:04,584 --> 00:03:06,051 Прямо по этому пути. 4 00:05:01,301 --> 00:05:03,269 Как давно это здесь?./Вторник.
У меня есть файл с несколькими строками, и я хочу объединять строки только в том случае, если они соответствуют определенному шаблону. Я знаю, что могу присоединиться к строкам, например:
$ cat input.txt 1 00:02:34,654 --> 00:02:36,554 Шон, пойдем. 2 00:02:38,358 --> 00:02:40,724 Ага. Детектив. у нас есть возможный 187 на шоссе 59. 3 00:03:04,584 --> 00:03:06,051 Прямо по этому пути. 4 00:05:01,301 --> 00:05:03,269 Как давно это здесь?./ Вторник. $ cat input.txt | perl -00 -lpe '$i = 0; s/\n/(++$i > 2) ? " " : "\n"/ge' 1 00:02:34,654 --> 00:02:36,554 Шон, пойдем. 2 00:02:38,358 --> 00:02:40,724 Ага. Детектив. у нас есть возможный 187 на шоссе 59. 3 00:03:04,584 --> 00:03:06,051 Прямо по этому пути. 4 00:05:01,301 --> 00:05:03,269 Как давно это здесь?./Вторник. Но как я могу решить, соответствует ли линия шаблону (только если у них есть '/')?. Итак, в этом случае результат, которого я хотел бы достичь, будет следующим:
1 00:02:34,654 --> 00:02:36,554 Шон, пойдем. 2 00:02:38,358 --> 00:02:40,724 Ага. Детектив. у нас есть возможный 187 на шоссе 59. 3 00:03:04,584 --> 00:03:06,051 Прямо по этому пути. 4 00:05:01,301 --> 00:05:03,269 Как давно это здесь?./Вторник.
Мобильная версия