GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie finde ich Textdateien, die keinen Text unter Linux enthalten?

Sie können dies allein mit grep tun (ohne find).

grep -riL "somestring" .

Dies ist die Erklärung der Parameter, die auf grep verwendet werden

     -L, --files-without-match
             each file processed.
     -R, -r, --recursive
             Recursively search subdirectories listed.

     -i, --ignore-case
             Perform case insensitive matching.

Wenn Sie l verwenden Kleinschreibung erhalten Sie das Gegenteil (Dateien mit Übereinstimmungen)

     -l, --files-with-matches
             Only the names of files containing selected lines are written

Der von Ihnen zitierte Befehl macht ironischerweise genau das, was Sie beschreiben. Testen Sie es!

echo "hello" > a
echo "bye" > b
grep -iL BYE a b

Sagt nur ein.

Ich denke, Sie verwechseln vielleicht -L und -l

find . -print | xargs grep -iL "somestring"

ist die Umkehrung von

find . -print | xargs grep -il "somestring"

Übrigens, erwägen

find . -print0 | xargs -0 grep -iL "somestring"

Oder sogar

grep -IRiL "somestring" .

Linux
  1. So finden Sie die zuletzt oder heute geänderten Dateien in Linux

  2. Wie finde ich alle Dateien, die keine Textzeichenfolge enthalten?

  3. Wie finde ich mehrere Zeichenfolgen in Dateien?

  4. Linux-Befehl:Wie findet man nur Textdateien?

  5. Wie finde ich unter Linux alle Dateien, die bestimmten Text enthalten?

So zählen Sie Dateien im Verzeichnis in Linux

So finden Sie eine Zeichenfolge in einer Datei unter Linux

So finden Sie Dateien anhand ihrer Berechtigungen in Linux

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

So finden Sie Dateien, die eine bestimmte Textzeichenfolge in Linux enthalten

Finden Sie Text in Dateien unter Linux mit grep