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.