¿Cómo puedo encontrar un archivo por su contenido en Linux?

14

¿Cómo puedo encontrar un archivo por su contenido en Linux en la línea de comando?

Por ejemplo, quiero encontrar un archivo que contenga la palabra "helo" en mi computadora.

Garfio
fuente

Respuestas:

24

Utilizar:

grep -lir "helo" /path/to/dir
quanta
fuente
3

Puede crear un archivo llamado grepall en / usr / local / bin / con el siguiente contenido:

find -type f -exec grep -q $1 {} \; -print

entonces puedes buscar contenido por uso grepall something

kockiren
fuente
1
Eso es mucho escribir cuando puedes simplemente grep -r
Matt H
Con el comando find, puede grep recursivo a través de directorios y grep en todos los archivos.
kockiren
1

egrep -R "hello" /path/to/dir

Adam Eberlin
fuente
1

Mal camino: grep "something" */*/*

Korjavin Ivan
fuente
0

Si es administrador o codificador, puede considerar ripgrep en lugar de lo habitual grep.

rg helo por ejemplo, busca todos los archivos en el directorio de trabajo actual (incluidas las subcarpetas).

Para obtener información más detallada, consulte la guía , la página de manual o incluso el código.

mbx
fuente