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


Muchas veces, estamos atrapados en una situación en la que tenemos que buscar varios archivos con diferentes extensiones, esto probablemente les haya sucedido a varios usuarios de Linux, especialmente desde dentro de la terminal.

Hay varias utilidades de Linux que podemos usar para localizar o encontrar archivos en el sistema de archivos, pero encontrar varios nombres de archivo 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 ayudarnos a localizar varios nombres de archivo 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 find en Linux.

1. Suponiendo que desea encontrar 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 que incluya las extensiones de archivo entre corchetes y también use el carácter de escape \ (barra diagonal inversa) como en el comando.

2. Para encontrar tres nombres de archivo con las extensiones .sh , .txt y .c , emita 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 .pdf extensiones:

# 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 de búsqueda, le permite agregar más nombres de archivo a la matriz de búsqueda y también conocer los nombres de archivo o las extensiones de archivo que estás buscando.

Conclusión

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