Я хочу найти все строки в текстовом файле, содержащем строку "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"