Я хочу найти все строки в текстовом файле, содержащем строку "abc", но не содержащую строку "def". Могу ли я использовать команду grep для выполнения этой задачи?
Grep без строки
Ответ 1
Любой из них будет делать:
grep -v "def" input_file | grep "abc"
или
grep "abc" input_file | grep -v "def"
Следующее также сохранит окраску, если вы хотите видеть только вывод на stdout:
grep --color=always "abc" input_file | grep -v "def"
Параметр -v (означает "инверсное совпадение" ) сообщает grep игнорировать строки с указанным шаблоном - в этом случае def.
Ответ 2
Это может сделать это.
fgrep "abc" file | grep -v "def"