¿hay algún comando para buscar en tu Mac usando la terminal? Intenté usin grep para buscar, pero parece que no responde y no surge nada.
Por ejemplo, escribiría "grep Files" (un nombre de carpeta) y simplemente imprime una línea en blanco y no sucede nada.
Respuestas:
También puede usar el
mdfind
comando para realizar una búsqueda con Spotlight. Más información aquí .Úselo
mdfind -name searchterm
para recuperar archivos con el nombresearchterm
. Utilícelomdfind searchterm
para realizar una búsqueda en el nombre y el contenido del archivo.fuente
Si solo desea buscar archivos con un nombre determinado, use
find
La página del manual se puede encontrar AQUÍ o escribiendo
man find
en el indicador del terminal.Básicamente, find buscará de forma recursiva un archivo que cumpla con los criterios que especifique. El ejemplo más fácil:
find . -name file_name -print
Eso buscará un archivo llamado "nombre_archivo" comenzando en el directorio actual y buscando debajo e imprimirá los archivos con ese nombre.
find ~ -name ".DS_Store" -delete
Eso encontrará todos los archivos .DS_Store y los eliminará.
Puede buscar por nombre, expresiones regulares, fecha. Puede actuar sobre el archivo de cualquier manera Unix con el
-exec
predicado.También puede usar find como el inicio de una canalización de acciones más compleja. Ejemplo:
find . -type f -print | egrep -i '\.m4a$|\.mp3$'
Encontrará todos los archivos con extensiones .m4a o .mp3
find . -type f -print | egrep -i '\.m4a$|\.mp3$' | wc -l
Le dará un recuento de esos archivos.
fuente
-print
es el único predicado, puede omitirse; Además, hay un simple globbing disponible. Por lo tanto la búsqueda de todos los.txt
archivos bajo un directoriofoo
se llevaría a cabo confind foo -name \\*.txt
find .
es recursivo desde el cwd. ¡Intenta escribirfind .
en tu directorio raíz!Si desea buscar en una carpeta completa, simplemente use -r en grep:
Con find, también puedes usar xargs:
o para asegurarse de buscar dos archivos a la vez y, por lo tanto, tener los nombres de archivo especificados:
fuente
grep
espera tanto un patrón como una especificación de archivo. Si falta uno, usa lo que se pasa como patrón y espera a que los datos busquen a través de la entrada estándar.Si desea utilizar una especificación de archivo más compleja, utilice
find
.fuente
-exec
predicado enfind
.