Me gustaría encontrar todos los archivos que contienen una determinada cadena de texto. ¿Cómo harías eso en la Terminal?
Me gustaría encontrar todos los archivos que contienen una determinada cadena de texto. ¿Cómo harías eso en la Terminal?
Respuestas:
grep -r 'text goes here' path_goes_here
man grep
para descubrir todas las maravillosas opciones de grep
No such file or directory
Estoy tratando de obtener solo la lista de ocurrencias de texto. ¿Cómo podemos obtener esa lista?
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH OF PARENT] -s
usar foco
mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"
no te olvides de mirar:
man mdfind
brew install ack
ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
La respuesta de Ignacio es excelente y me ayudó a encontrar los archivos que contienen cierto texto. El único problema al que me enfrentaba era que, al ejecutar este comando, se enumerarían todos los archivos, incluido uno en el que el patrón no aparecía.
No such file or directory
Esto es lo que veo junto a los archivos que no contienen el patrón.
Si, en cambio, agrega -s
al comando, como en
grep -lr "text pattern" ./ -s
:; grep -lr "text pattern" [PATH DIRECTORY] -s
se utiliza, solo le mostrará qué archivos contienen el patrón.
Del mismo modo si grep -nr "text pattern" ./ -s
; grep -nr "text pattern" [PATH OF DIRECTORY] -s
Se utiliza el comando, imprime el archivo más el número de línea y la aparición del patrón.
Por favor corríjame si mi comprensión es incorrecta.
Referencia: ¿Cómo puedo hacer que grep no imprima los errores 'No existe tal archivo o directorio'?
grep ... 2>/dev/null
. Esta solución funciona para la mayoría de los programas, ya que informan mensajes de error en la secuencia stderr, no stdout. He usado esta solución muchas veces find
, ya que dirá Permiso denegado para muchos archivos.
No such file or directory
recibe mensajes de archivos que existen, está haciendo algo mal o su sistema está dañado. (2) ¿Qué [PATH OF PARENT]
tiene que ver con algo?
[PATH OF DIRECTORY]
solo en caso de que alguien desconocido quisiera saber por qué lo había puesto./