Estoy buscando a través de un repositorio de Git y me gustaría incluir la carpeta .git
.¿Cómo puedo grep archivos ocultos?
grep
no incluye esta carpeta si funciono
grep -r search *
lo que sería un comando grep para incluir esta carpeta?
Estoy buscando a través de un repositorio de Git y me gustaría incluir la carpeta .git
.¿Cómo puedo grep archivos ocultos?
grep
no incluye esta carpeta si funciono
grep -r search *
lo que sería un comando grep para incluir esta carpeta?
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 .*
coincidirá con los archivos sólo 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
en lugar de .*
.
Sin embargo, si lo único que desea buscar en un directorio dado, hacerlo de esta manera:
grep -r search .
El .
coincidirá con la trayectoria de la corriente, que incluirá tanto los archivos no ocultos y escondidos.
Tal vez usted prefiere combinar "grep" con el "hallazgo" de comandos para soluciones completas como
find . -exec grep -Hn search {} \;
Este comando buscará archivos o directorios dentro ocultos para cadena "búsqueda" y una lista de cualquier archivo con una coincidencia con este formato de salida:
archivo ruta: 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
es posible que desee utilizar este enfoque:
find ~ -name '*' | xargs grep search
o si lo que desea buscar en el nivel superior (que es más rápido para poner a prueba si está tratando de éstos hacia fuera):
find ~ -maxdepth 1 -name '*' | xargs grep search
Todas las otras respuestas son mejores.Éste podría ser fácil de recordar:
find . -type f | xargs grep search
sólo encuentra archivos (incluyendo ocultos) y grep cada archivo
simplemente me encontré con este problema, y en base a la respuesta de @ máscara de bits, aquí está mi simple modificación evitar el problema señalado por @sehe:
grep -r search_string * .[^.]*
no obtengo ningún resultado usando esto: 'sudo grep -r ANDROID_HOME *. [^.] *' ¿qué estoy haciendo mal aquí? – messerbill
@messerbill ¿dónde está ejecutando la búsqueda? – insaner
para buscar dentro de sólo todos los archivos ocultos y directorios desde su ubicación actual:
find . -name ".*" -exec grep -rs search {} \;
sólo todos los archivos ocultos:
find . -name ".*" -type f -exec grep -s search {} \;
sólo todos los directorios ocultos: (. Grep -r búsqueda * *)
find . -name ".*" -type d -exec grep -rs search {} \;
El primer enfoque funcionó para mí. El segundo enfoque (grep -r búsqueda.) No encontró la cadena. Encontré resultados similares al omitir la "-r" y buscar solo en el directorio de nivel superior. Estoy usando GNU grep 2.6.3. – Alan
@ Alan: Eso es extraño. Yo uso esto regularmente ¿Lo probaste en el mismo directorio? – bitmask
Sí, lo hice. Por cierto, los resultados son los mismos ya sea que use tcsh o bash. Es un sistema Debian 5 de 64 bits, por lo que eso vale. – Alan