Alle Dateien finden, die eine bestimmte Zeichenfolge nicht enthalten

Alle Dateien finden, die eine bestimmte Zeichenfolge nicht enthalten

grep -l "this is a test" listet alle Dateien auf, $pwddie die angegebene Zeichenfolge enthalten. Aber

grep -vl "this is a test" listet alle Dateien auf, einschließlich dieser, da die Dateien, die diese Zeichenfolge enthalten, auch Zeilen ohne diese Zeichenfolge enthalten.

Ich könnte eine Liste der ersten Gruppe erstellen und dann alle Dateien im Verzeichnis auflisten, die nicht auf dieser Liste stehen, aber gibt es einen einfacheren Weg? Normalerweise verwende ich bash, aber ich kann cshauch zu oder wechseln perl, wenn es helfen würde.

Antwort1

Fgrep -o -r -i -L string * -o meldet nur die Datei -r rekursiv in Unterverzeichnisse -i ohne Berücksichtigung der Groß-/Kleinschreibung -L, --files-without-match Unterdrückt die normale Ausgabe; druckt stattdessen den Namen jeder Eingabedatei, von der normalerweise keine Ausgabe gedruckt worden wäre. Der Scan wird bei der ersten Übereinstimmung angehalten.

verwandte Informationen