Grep не работает как с -v, так и с -A/B

Estos encabezados son utilizados internamente por Claws al redactar un correo electrónico para enviar. Realizan un seguimiento de cosas como qué dirección de remitente ha elegido, qué servidor de correo saliente usar al enviar, si el correo electrónico debe estar firmado o encriptado, y cosas similares.

Los encabezados se eliminan durante el proceso de envío, lo que puede verificar enviándose un correo electrónico. No puede deshabilitarlos porque hacerlo evitaría que Claws funcione.

4
16.07.2019, 13:03
3 ответа

Если вы можете использовать sedвместо grep, это дает хорошее решение:

sed -e '/This error/,+3d' myfile

Это удаляет строку, содержащую строку This error, и следующие три строки, но выводит все остальное. Для этой команды sedтребуется GNU sed(, адрес +3является расширением ).

1
27.01.2020, 21:01

Вы можете использоватьpcregrep:

pcregrep -vM  'This error\n.*\n.*\n.*' file

Это даст результат:

[text I want]
[text I want]
[text I want] 

Ссылкаhttps://stackoverflow.com/q/2686147/9235408

0
27.01.2020, 21:01

Как указал finswimmer в комментариях , ваша команда grep -vбудет выводить три строки после каждой строки, которая не соответствует тексту This error. Это не то, что вы хотите.

Использование стандартаsed:

sed '/This error/{ N;N;N; d; }' file

Это ищет текст This errorв файле, и когда он найден, он также читает следующие три строки и удаляет все четыре строки. Все остальные строки выводятся.

0
27.01.2020, 21:01

Теги

Похожие вопросы