(4 respuestas)
Cerrado hace 7 años.
Uso el siguiente comando para buscar archivos con una cadena determinada:
find /var/www/http -type f | xargs grep -iR "STRING1"
Pero, ¿cómo puedo encontrar archivos que incluyan "STRING1" O "STRING2" O "STRING3"?
Este código no funciona:
find /var/www/http -type f | xargs grep -iR "STRING1" | xargs grep -iR "STRING2"
Respuesta aceptada:
POSIXly, usando grep
con -E
opción:
find /var/www/http -type f -exec grep -iE 'STRING1|STRING2' /dev/null {} +
O -e
:
find /var/www/http -type f -exec grep -i -e 'STRING' -e 'STRING2' /dev/null {} +
Con algunas implementaciones, al menos en sistemas GNU, OSX y FreeBSD, puede escapar |
:
find /var/www/http -type f -exec grep -i 'STRING1\|STRING2' /dev/null {} +