Ich habe eine Reihe von Dateien, die bestimmte Informationen enthalten.
Mich interessiert die Teilmenge der Dateien, dienichtüberhaupt ein bestimmtes Muster enthalten.
Beispiel :
cat file.txt
foo
bar
trivial information
some customer data
Nehmen wir an, ich interessiere mich für Dateien, die nicht die Zeile „triviale Informationen“ enthalten.
Wie würde ich das tun?
Wenn ja:
grep -v ‘trivial information’
es wird nicht funktionieren, da die restlichen Zeilen in der Datei mit dieser invertierten Suche übereinstimmen und daher file.txt
im Ergebnis landen.
Wie führe ich also eine invertierte Übereinstimmung für die gesamte Datei durch und nicht Zeile für Zeile?
Antwort1
Sie suchen die -L
Flagge:
grep -L 'trivial information' *
Aus man grep
:
-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.