
Estoy buscando archivos que contengan una cadena. Mi comando:
grep -rwl '/path/' -e "string"
Quiero limitar el resultado a rutas que contengan una cadena diferente. Puedo hacerlo así:
grep -rwl '/path/' -e "string" | grep 'path_string'
Me gustaría optimizar la ejecución, si es posible, mirando solo las rutas con 'path_string' para empezar. ¿Cómo puedo lograr esto?
Respuesta1
Podrías usar find
con -path
, por ejemplo
find /path -path '*path_string*' -type f -exec grep -qw 'string' {} \; -print
Esto buscará /path
nombres de archivos que coincidan con 1 patrón de shell *path_string*
y se ejecutará grep
solo en esos archivos, imprimiendo sus nombres si tiene éxito.
1: la coincidencia de patrón se aplica a todo el nombre del archivo a partir de/path/