Распечатайте несколько строк как одну строку, если они соответствуют шаблону.Linux

Ответить
Anonymous
 Распечатайте несколько строк как одну строку, если они соответствуют шаблону.

Сообщение 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 Как давно это здесь?./Вторник.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»