Búsqueda de sitios web

Cómo utilizar el comando 'buscar' para buscar varios nombres de archivos (extensiones) en Linux


Muchas veces nos encontramos atrapados en una situación en la que tenemos que buscar múltiples archivos con diferentes extensiones, esto probablemente les ha sucedido a varios usuarios de Linux, especialmente desde la terminal.

Existen varias utilidades de Linux que podemos usar para localizar o encontrar archivos en el sistema de archivos, pero encontrar varios nombres de archivos o archivos con diferentes extensiones a veces puede resultar complicado y requiere comandos específicos.

Una de las muchas utilidades para localizar archivos en un sistema de archivos de Linux es la utilidad find y en esta guía práctica, veremos algunos ejemplos del uso de find para ayúdanos a localizar varios nombres de archivos a la vez.

Antes de sumergirnos en los comandos reales, veamos una breve introducción a la utilidad find de Linux.

La sintaxis más simple y general de la utilidad de búsqueda es la siguiente:

find directory options [ expression ]

Procedamos a ver algunos ejemplos del comando buscar en Linux.

1. Suponiendo que desea buscar todos los archivos en el directorio actual con las extensiones de archivo .sh y .txt, puede hacerlo ejecutando el siguiente comando:

find . -type f \( -name "*.sh" -o -name "*.txt" \)

Interpretación del comando anterior:

  1. . significa el directorio actual
  2. La opción -type se usa para especificar el tipo de archivo y aquí estamos buscando archivos normales representados por f
  3. La opción -name se utiliza para especificar un patrón de búsqueda, en este caso, las extensiones de archivo
  4. -o significa "O"

Se recomienda incluir las extensiones de archivo entre corchetes y también utilizar el carácter de escape \ ( barra invertida) como en el comando.

2. Para encontrar tres nombres de archivos con extensiones .sh, .txt y .c, ejecute el siguiente comando:

find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)

3. Aquí hay otro ejemplo en el que buscamos archivos con .png, .jpg, .deb y < extensiones código>.pdf:

find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)

Cuando observa críticamente todos los comandos anteriores, el pequeño truco es usar la opción -o en el comando find, le permite agregar más nombres de archivos a la matriz de búsqueda y conociendo también los nombres de archivo o extensiones de archivo que está buscando.

Conclusión

En esta guía, cubrimos un truco de utilidad de búsqueda simple pero útil que nos permite encontrar múltiples nombres de archivos emitiendo un solo comando. Para comprender y utilizar find para muchas otras operaciones vitales de la línea de comandos, puede leer nuestro artículo a continuación.

No te pierdas: Domina el comando "buscar" de Linux con estos 35 ejemplos