Удалить строки, содержащие шаблон, исключить другой шаблон bash - PullRequest
1 голос
/ 22 марта 2020

У меня есть файл

$ cat File
ce5 xxx 123
ed9 myself,yyy,fail? -
f27 xxx,fail? 145
105 yyy,fail? -

Я хочу удалить все строки, содержащие строку ", fail?" но не "я" в bash.

Ожидаемый результат

$ cat File
ce5 xxx 123
ed9 myself,yyy,fail? -

Я могу отображать строки, но не знаю, как их удалить

cat File | grep -v "myself" | grep ",fail?"
f27 xxx,fail? 145
105 yyy,fail? -

1 Ответ

2 голосов
/ 22 марта 2020

Я думаю, что вы не можете делать такие вещи (легко) с помощью grep.

Печатать mysql и не печатать ,fail? с sed:

sed '/myself/n; /,fail\?/d' File

С awk:

awk '! /,fail\?/ || /myself/'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...