(4 risposte)
Chiuso 7 anni fa.
Uso il seguente comando per trovare i file con una determinata stringa:
find /var/www/http -type f | xargs grep -iR "STRING1"
Ma come posso trovare file che includono "STRING1" O "STRING2" O "STRING3"?
Questo codice non funziona:
find /var/www/http -type f | xargs grep -iR "STRING1" | xargs grep -iR "STRING2"
Risposta accettata:
POSIXly, usando grep
con -E
opzione:
find /var/www/http -type f -exec grep -iE 'STRING1|STRING2' /dev/null {} +
Oppure -e
:
find /var/www/http -type f -exec grep -i -e 'STRING' -e 'STRING2' /dev/null {} +
Con alcune implementazioni, almeno su sistemi GNU, OSX e FreeBSD, puoi sfuggire a |
:
find /var/www/http -type f -exec grep -i 'STRING1\|STRING2' /dev/null {} +