Unix-Tool zum Anzeigen von Dateien, bei denen der Inhalt nicht übereinstimmt

3

Wenn ich eine Liste von Dateien sehen möchte, die das Wort "FOO" enthalten, kann ich verwenden

fgrep -l 'FOO' *

aber was ist, wenn ich alle Dateien sehen möchte , die das Wort FOO nicht enthalten?

Ich kann nicht verwenden

fgrep -vl 'FOO' *

denn das zeigt mir jede Datei (es sei denn, es gibt eine Datei, die nur das Wort "FOO" enthält).

(Anscheinend wusste ich, wie ich das machen könnte, aber jetzt kann ich mich nicht mehr daran erinnern.)

TJ Luoma
quelle

Antworten:

3
fgrep -L 'FOO' *

Es ist in der Manpage:

-L, --files-without-match
    Suppress normal output; instead print the name of each input file from which no output would normally have been printed.  The scanning will  stop  on the first match.
Goweon
quelle
Ich schwöre, ich habe die Manpage ungefähr fünf Mal durchgesehen und sie immer wieder übersehen. (Gibt es ein kurzsichtiges "Abzeichen": -? Danke für den Cluestick!
TJ Luoma
2
find some/dir ... \( -exec grep -q 'FOO' {} \; -o -print \)
Ignacio Vazquez-Abrams
quelle