Encuentra todos los archivos con una extensión en Bash

Sheeraz Gul 15 febrero 2024
Encuentra todos los archivos con una extensión en Bash

Este tutorial demuestra cómo encontrar todos los archivos con una extensión en Bash.

Encuentra todos los archivos con una extensión en Bash

Encontrar archivos con una extensión particular es una operación fácil en Bash. Podemos usar el comando buscar y la opción -nombre para encontrar los archivos con una extensión particular.

Sintaxis:

find DirectoryPath -type f -name '*.txt'

El comando anterior puede obtener los archivos con la extensión txt del directorio dado. Podemos poner . para el directorio actual o la ruta del directorio; el -tipo f seleccionará solo archivos, no carpetas, y -nombre se utilizará para obtener una extensión particular.

Ahora probemos un ejemplo de un directorio en particular; primero, veamos la estructura de directorios en la siguiente animación:

Estructura de directorios

Como podemos ver, el directorio contiene subcarpetas que contienen algunos archivos. Intentemos ejecutar un ejemplo ahora.

find /mnt/c/Users/Sheeraz/DemoFolder1 -type f -name '*.txt'

El comando anterior obtendrá todos los archivos con extensiones txt, incluso desde las subcarpetas. Ver la salida:

/mnt/c/Users/Sheeraz/DemoFolder1/delftstack1.txt
/mnt/c/Users/Sheeraz/DemoFolder1/delftstack2.txt
/mnt/c/Users/Sheeraz/DemoFolder1/delftstack3.txt
/mnt/c/Users/Sheeraz/DemoFolder1/demo.txt
/mnt/c/Users/Sheeraz/DemoFolder1/SubFolder/delftstack1.txt
/mnt/c/Users/Sheeraz/DemoFolder1/SubFolder/delftstack2.txt
/mnt/c/Users/Sheeraz/DemoFolder1/SubFolder/delftstack3.txt
/mnt/c/Users/Sheeraz/DemoFolder1/SubFolder/demo.txt
/mnt/c/Users/Sheeraz/DemoFolder1/SubFolder1/delftstack1.txt
/mnt/c/Users/Sheeraz/DemoFolder1/SubFolder1/delftstack2.txt
/mnt/c/Users/Sheeraz/DemoFolder1/SubFolder1/delftstack3.txt
/mnt/c/Users/Sheeraz/DemoFolder1/SubFolder1/demo.txt

Como podemos ver, el comando buscó los archivos txt y devolvió todos los archivos de texto en el directorio. Este comando se puede usar con cualquier extensión; intentemos usarlo con otra extensión.

find /mnt/c/Users/Sheeraz/DemoFolder1 -type f -name '*.rtf'

Este comando buscará los archivos con extensión RTF. Ver la salida:

/mnt/c/Users/Sheeraz/DemoFolder1/delftstack.rtf
/mnt/c/Users/Sheeraz/DemoFolder1/SubFolder/delftstack.rtf
/mnt/c/Users/Sheeraz/DemoFolder1/SubFolder1/delftstack.rtf

Como podemos ver, el comando devuelve con éxito todos los archivos con una extensión particular.

Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - Bash Find