Hvordan kan jeg ekskludere ett ord med grep?

Jeg trenger noe sånt som:

grep ^"unwanted_word"XXXXXXXX

Hvis din grep støtter Perl regulære uttrykk med -P alternativet du kan gjøre (hvis bash; hvis tcsh du ' ll trenger å flykte !):

grep -P '(?!.*unwanted_word)keyword' file

Demo:

$ cat file
foo1
foo2
foo3
foo4
bar
baz

La oss nå liste opp alle foo bortsett fra foo3

$ grep -P '(?!.*foo3)foo' file
foo1
foo2
foo4
$ 
Kommentarer (2)

Inverter samsvar ved hjelp av grep -v:

grep -v "unwanted word" file pattern
Kommentarer (0)

Alternativet -v vil vise deg alle linjene som ikke samsvarer med mønsteret.

grep -v ^unwanted_word
Kommentarer (0)