Показать сообщение отдельно

  #11  
Старый 02.10.2022, 20:43
VasiliyP
Постоянный
Регистрация: 30.08.2011
Сообщений: 358
С нами: 7738166

Репутация: 11
По умолчанию

Цитата:
Сообщение от marviha1  

Товарищи такой вопрос. Есть файл с множеством строк, допустим 1.txt с содержимым

Как вытащить строку test и 2 строки идущие ниже? Т.е. на выходе дложно получиться так:

test

123456

12345

test

654321

54321

grep -A2 test file.txt

Цитата:
Сообщение от marviha1  

В идеале нужно чтобы было вот так, либо через пробел, либо через любой разделитель:

test 123456 12345

test 654321 54321

perl -ne 'BEGIN {$s="test"; @v};s/[\r\n]+$//;push @v,$_;if(@v==4){shift @v;print join(" ", @v)."\n" if $v[0]=~/$s/}' file.txt
 
Ответить с цитированием