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

Wie finde ich mehrere Zeichenfolgen in Dateien?

Für diese Frage gibt es hier bereits Antworten :Wie kombiniert man zwei grep-Anweisungen und zeigt ihre Ergebnisse zusammen an?

(4 Antworten)
Vor 7 Jahren geschlossen.

Ich verwende den folgenden Befehl, um Dateien mit einer bestimmten Zeichenfolge zu finden:

find /var/www/http -type f | xargs grep -iR "STRING1"

Aber wie finde ich Dateien, die „STRING1“ ODER „STRING2“ ODER „STRING3“ enthalten?

Dieser Code funktioniert nicht:

find /var/www/http -type f | xargs grep -iR "STRING1" | xargs grep -iR "STRING2"

Akzeptierte Antwort:

POSIXly mit grep mit -E Möglichkeit:

find /var/www/http -type f -exec grep -iE 'STRING1|STRING2' /dev/null {} +

Oder -e :

find /var/www/http -type f -exec grep -i -e 'STRING' -e 'STRING2' /dev/null {} +

Bei einigen Implementierungen, zumindest auf GNU-Systemen, OSX und FreeBSD, können Sie | maskieren :

find /var/www/http -type f -exec grep -i 'STRING1\|STRING2' /dev/null {} +

Linux
  1. So verwenden Sie den Grep-Befehl, um Text in Dateien zu finden

  2. So komprimieren Sie mehrere Dateien unter Linux

  3. Wie grep in PDF-Dateien?

  4. Grep für mehrere Zeichenfolgen in Dateien und dann die Dateien in der Reihenfolge ihrer Größe auflisten?

  5. Wie suche ich in bestimmten Dateien, die einem Muster entsprechen?

So finden Sie eine bestimmte Zeichenfolge oder ein bestimmtes Wort in Dateien und Verzeichnissen

Grep-Befehl in Linux (Text in Dateien suchen)

Wie man nach mehreren Zeichenfolgen und Mustern grep

So zählen Sie Dateien im Verzeichnis in Linux

So finden Sie eine Zeichenfolge in einer Datei unter Linux

So finden Sie Dateien in Debian