2011-10-08 18 views

Respuesta

20

Puede usar la utilidad find. Algo como esto:

find /path/to/look/in -name '*somestring*' -print 

En algunos sistemas, si omite la ruta, se utiliza el directorio actual. En otros sistemas no puede omitirlo, simplemente use . para el directorio actual.

Además, lea man find para muchas otras opciones.

+1

Esta es la respuesta. A menos que esté utilizando las características de detección de tipo de archivo de ack, 'find' es el camino a seguir. –

-2

esto funciona para mí, ack -all "somestring" donde como ack --all "somestring" buscará todos los archivos que contengan esa cadena. ack "somestring" solo buscará archivos con esa cadena. si desea agregar algún tipo de archivo para buscar permanentemente como archivos ruby ​​o puede crear un archivo .ackrc en su directorio de inicio, agregue la siguiente línea --type-add = ruby ​​= .haml, .rake, .rsel. Josh

+0

Esto parece buscar el contenido del archivo. Eso no es lo que pidió la pregunta. – isherwood

40

estoy de acuerdo es encontrar el camino a seguir, pero también se podría hacer fácilmente con acuse de recibo:

ack -f | ack "string" 

Aquí, "ack-f" de forma recursiva muestra todos los archivos que sería de búsqueda; canaliza eso al segundo comando ack para buscar a través de eso. ack -f tiene la ventaja de omitir binarios y directorios incluso sin más argumentos; a menudo, un comando de "búsqueda" podría ser reemplazado por un comando "ack" mucho más corto.

+0

Buscar es más rápido. – sloven

+0

ack -f | rg "cuerda" – arpit

0

No puedo comentar todavía, o si no, agregaría esto a la respuesta de @ dmedvinsky anterior. Es posible que desee combinar su enfoque con @ Whaley de answer to a different question con el fin de filtrar .svn archivos:

find /path/to/look/in -not -iwholename '*.svn*' -name '*somestring*' -print 
3

Si desea utilizar ack para encontrar todos los archivos que tienen somestring en su nombre base, basta con añadir [^/]*$ a la expresión regular, por ejemplo,

ack -g somestring[^/]*$ 

Desafortunadamente, --color mostrará el partido desde somestring al final del nombre de archivo; pero es posible hacer lo que solicitó usando ack.

Cuestiones relacionadas