Estoy en Ubuntu y me gustaría encontrar todos los archivos en el directorio actual y los subdirectorios cuyo nombre contiene la cadena "John". Sé que grep
puede coincidir con el contenido de los archivos, pero no tengo idea de cómo usarlo con los nombres de los archivos. Cualquier ayuda sería apreciada.
107
Respuestas:
Utilice el comando de búsqueda ,
fuente
#!/bin/bash if [ -z $1 ]; then echo "Error: Specify pattern for search"; else /usr/bin/find . -type f -name "*$1*"; fi
le permitiría ejecutarloF search-string
como un acceso directo perfecto[ -z "$1" ]
sería un poco mejor.if [ -z ]
. Pensé que sería un error de sintaxis, pero funciona. Puedo simplificar parte de mi código de ahora en adelante.Ya se ha proporcionado una respuesta correcta, pero para que aprenda a ayudarse a sí mismo, pensé en incluir algo útil de otra manera; Si puede resumir lo que está tratando de lograr en una palabra, hay una excelente función de ayuda en Linux.
Lo que hace es enumerar todos los comandos que tienen su término de búsqueda en la descripción breve. Por lo general, es muy probable que encuentres lo que buscas. ;)
Esa salida a veces puede ser algo abrumadora, y recomendaría reducirla a los ejecutables, en lugar de a todas las páginas de manual disponibles, así:
o, si también desea buscar comandos que requieran niveles de privilegios más altos, como este:
fuente
El
find
comando llevará mucho tiempo porque analiza archivos reales en el sistema de archivos.La forma más rápida es usar el
locate
comando, que dará un resultado de inmediato:Si no se encuentra el comando, primero debe instalar el
mlocate
paquete y ejecutar elupdatedb
comando para preparar la base de datos de búsqueda por primera vez.Más detalles aquí: https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab
fuente
utilizar ack es simple. Sólo tipo
ack <string to be searched>
fuente
Esta es una solución muy simple que usa el
tree
comando en el directorio que desea buscar.-f
muestra la ruta completa del archivo y|
se usa para canalizar la salida del árbolgrep
para encontrar el archivo que contiene la cadenafilename
en el nombre.fuente