1

Рассмотрим файл журнала, который выглядит следующим образом:

action A
detail 1
detail 2
detail 3
action X
detail 1
detail 2
action B
detail 1
action X
detail 1
detail 2
action C

Строки с «действием [ABC]» могут иметь различное количество следующих "подробных" строк.

Строки с "действием X" всегда имеют 2 следующие строки "детализации".

Меня не интересует событие X, поэтому я хотел бы отфильтровать все строки с помощью "action X" и следующих двух строк.

Я знаю о флаге -v , но не о том, как выразить часть "и следующие 2 строки".

2 ответа2

1

Попробуй это:

sed '/action X/{ N; N; d }'
0

Вот альтернатива awk, которая делает то же самое, что sed ответ Николь:

awk '/action X/ { getline; getline; getline } 1' 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .