tag easytag linux string find

linux - easytag



Linux encuentra nombres de archivos con una cadena dada (5)

El comando find tomará mucho tiempo porque escanea archivos reales en el sistema de archivos.

La forma más rápida es usar el comando locate , que dará resultado de inmediato:

locate "John"

Si no se encuentra el comando, debe instalar el paquete mlocate y ejecutar el comando updatedb primero para preparar la base de datos de búsqueda por primera vez.

Más detalles aquí: http://itblog.study.land/the-fastest-way-to-find-files-by-filename-mlocate-locate-and-updatedb-commands-2/

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.


Esta es una solución muy simple usando el comando tree en el directorio que desea buscar. -f muestra la ruta completa del archivo y | se usa para canalizar la salida de árbol a grep para encontrar el archivo que contiene el filename de filename cadena en el nombre.

tree -f | grep filename


Usa el comando find

find . -type f -name "*John*"


Ya se ha proporcionado una respuesta correcta, pero para que aprenda a ayudarse a sí mismo, pensé en agregar algo útil de una manera diferente; Si puede resumir lo que está tratando de lograr en una palabra, hay una poderosa función de ayuda en Linux.

man -k <your search term>

Lo que hace es enumerar todos los comandos que tienen su término de búsqueda en la breve descripción. Generalmente hay una buena posibilidad de que encuentres lo que buscas. ;)

Ese resultado a veces puede ser algo abrumador, y recomiendo restringirlo a los ejecutables, en lugar de a todas las páginas de manual disponibles, así:

man -k find | egrep ''/(1/)''

o, si también desea buscar comandos que requieren niveles de privilegios más altos, como este:

man -k find | egrep ''/([18]/)''


use ack es simple. simplemente escriba ack <string to be searched>