grep invertierte Übereinstimmung mit der Datei und nicht mit einer zeilenweisen Übereinstimmung

grep invertierte Übereinstimmung mit der Datei und nicht mit einer zeilenweisen Übereinstimmung

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.txtim 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 -LFlagge:

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.

verwandte Informationen