utiliza uso todos sobre los filtro ejemplos cómo comprimidos como comando avanzado archivos archivo anidar grep hidden-files dotfiles

uso - ¿Cómo puedo grep archivos ocultos?



grep sobre un archivo (6)

Acabo de toparme con este problema, y ​​basado en la respuesta de @ bitmask, aquí está mi modificación simple para evitar el problema señalado por @sehe:

grep -r search_string * .[^.]*

Estoy buscando en un repositorio de Git y me gustaría incluir la carpeta .git .

grep no incluye esta carpeta si ejecuto

grep -r search *

¿Qué sería un comando grep para incluir esta carpeta?


Es posible que desee utilizar este enfoque:

find ~ -name ''*'' | xargs grep search

o si solo desea buscar en el nivel superior (que es más rápido de probar si está probando esto):

find ~ -maxdepth 1 -name ''*'' | xargs grep search


Para buscar en SÓLO todos los archivos y directorios ocultos desde su ubicación actual:

find . -name ".*" -exec grep -rs search {} /;

SOLO todos los archivos ocultos:

find . -name ".*" -type f -exec grep -s search {} /;

SOLO todos los directorios ocultos:

find . -name ".*" -type d -exec grep -rs search {} /;


Quizás prefiera combinar "grep" con el comando "buscar" para obtener soluciones completas como

find . -exec grep -Hn search {} /;

Este comando buscará dentro de los archivos o directorios ocultos la "búsqueda" de cadenas y listará cualquier archivo que coincida con este formato de salida:

Ruta del archivo: Número de línea: línea con coincidencia

./foo/bar:42:search line ./foo/.bar:42:search line ./.foo/bar:42:search line ./.foo/.bar:42:search line


Todas las demás respuestas son mejores. Este podría ser fácil de recordar:

find . -type f | xargs grep search

Encuentra solo archivos (incluido oculto) y grep cada archivo


Consulte la solución al final de esta publicación como una mejor alternativa a lo que está haciendo.

Puede incluir explícitamente archivos ocultos (un directorio también es un archivo).

grep -r search * .*

El * coincidirá con todos los archivos excepto los ocultos y .* Solo coincidirá con los archivos ocultos. Sin embargo, esto fallará si no hay archivos no ocultos o no hay archivos ocultos en un directorio determinado. Por supuesto, podría agregar explícitamente .git lugar de .* .

Sin embargo, si simplemente desea buscar en un directorio determinado, hágalo así:

grep -r search .

El . coincidirá con la ruta actual, que incluirá archivos ocultos y no ocultos.