Я передаю файл в выражение egrep (журнал tcpdump), затем хочу удалить все совпадающие строки

Пример кода:

cat file | tr -d '\000' |egrep -i 'user: | usr: ' --color=auto --line-buffered -B20

Как я могу удалить все совпавшие строки сейчас?

-1
Jakub Pastuszuk 3 Апр 2017 в 13:14

2 ответа

Лучший ответ

Использовать флаг -v

 -v, --invert-match
         Selected lines are those not matching any of the specified patterns.
cat file | tr -d '\000' |egrep -iv 'user: | usr: ' --color=auto --line-buffered -B20 > newfile
2
Dmitry Shilyaev 3 Апр 2017 в 10:24

Вы можете сделать все это, используя sed:

sed -iE '/use?r: /d; s/\x0//g' file
0
anubhava 3 Апр 2017 в 10:29