Estoy buscando en un repositorio de Git y me gustaría incluir la .git
carpeta.
grep
no incluye esta carpeta si ejecuto
grep -r search *
¿Cuál sería un comando grep para incluir esta carpeta?
fuente
Estoy buscando en un repositorio de Git y me gustaría incluir la .git
carpeta.
grep
no incluye esta carpeta si ejecuto
grep -r search *
¿Cuál 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 .*
solo coincidirá con los archivos ocultos. Sin embargo, esto fallará si no hay archivos no ocultos o archivos ocultos en un directorio determinado. Por supuesto, podría agregar explícitamente en .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.
.*
incluirá el directorio principal (porque..
coincide)Me acabo de encontrar con este problema y, según la respuesta de @ bitmask, aquí está mi modificación simple para evitar el problema señalado por @sehe:
fuente
sudo grep -r ANDROID_HOME * .[^.]*
¿qué estoy haciendo mal aquí?Quizás prefiera combinar "grep" con el comando "buscar" para obtener una solución completa como:
Este comando buscará dentro de archivos o directorios ocultos la cadena de "búsqueda" y enumerará cualquier archivo que coincida con este formato de salida:
Ruta del archivo: Número de línea: línea con coincidencia
fuente
Es posible que desee utilizar este enfoque, asumiendo que está buscando en el directorio actual (de lo contrario, reemplácelo con el directorio deseado):
o si solo desea buscar en el nivel superior (que es más rápido de probar si los está probando):
ACTUALIZACIÓN: Modifiqué los ejemplos en respuesta a los comentarios de Scott. También agregué "-tipo f".
fuente
~
es el directorio de inicio del usuario. La pregunta no era sobre el directorio de inicio del usuario, por lo que la respuesta no debería mencionarse~
. (2) En unfind
comando,-name '*'
es un no-op (es decir, no sirve para nada).Para buscar SOLO en todos los archivos y directorios ocultos de su ubicación actual:
SOLO todos los archivos ocultos:
SOLO todos los directorios ocultos:
fuente
Todas las demás respuestas son mejores. Este podría ser fácil de recordar:
Solo encuentra archivos (incluidos los ocultos) y greps cada archivo.
fuente
Para buscar solo dentro de una carpeta determinada, puede usar:
Es un comando muy simple para listar y canalizar a grep.
fuente
Además de la sugerencia de Tyler, aquí está el comando para grep todos los archivos y carpetas de forma recursiva, incluidos los archivos ocultos
fuente
Para evitar que coincidan
.
y..
que no sean archivos ocultos, puede usargrep
conls -A
like en este ejemplo:^\.
establece que el primer carácter debe ser.
La opción
-A
o--almost-all
excluye los resultados.
y,..
por lo tanto, solo los archivos y directorios ocultos coinciden.fuente
También puede buscar tipos específicos de archivos ocultos, como archivos de directorio ocultos:
Esto puede funcionar mejor que algunas de las otras opciones. Las otras opciones que funcionaron pueden ser demasiado lentas.
fuente