(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 {} +