Tag Archives: Terminal

Breves ejemplos del uso del comando find

Hace unos pocos días comenté acerca de la herramienta catfish la cual nos permite realizar búsquedas de archivos en el equipo. Pero en este breve tiempo que la he estado utilizando sigo prefiriendo la línea de comandos por la versatilidad que ofrece. Aquí mostraré algunos usos del comando find, para demostrar qué tan poderoso puede llegar a ser.

Comenzamos con una búsqueda sencilla. Supongamos que tenemos una carpeta llamada estado y un archivo de texto llamado de igual forma.
find . -name "estado"
Con esta instrucción se le indica que encuentre estado dentro de la carpeta actual (representada por el punto) y sus subcarpetas. Esto nos mostrará tanto el archivo como la carpeta. Cabe recordar que siempre podemos utilizar los comodines.
Si queremos que sólo muestre los archivos llamados estado, ejecutamos
find . -type f -name "estado"
También podemos buscar archivos por su contenido auxiliándose del comando grep. Supongamos que tenemos varios códigos en C, si ejecutamos
find . -name "*.c" -exec grep -l "BUFSIZ" {} ;
obtendremos como resultado todos los archivos con extensión .c que contengan BUFSIZ dentro de el.
Si queremos realizar reemplazo de texto podemos ejecutar el comando de la siguiente forma
find . -name "*.c" -exec sed -i -r 's/iNumerob/iNumeroPrimo/' {} ;
con esto reemplazamos iNumero por iNumeroPrimo
Ahora se da uno cuenta de que find es muy útil :D.

Podemos encontrar archivos que superen cierto tamaño. En este ejemplo find nos mostrará los archivos dentro de la carpeta del usuario (~) que superen los 10Mb.
find ~ -size 10M -type f
Podemos encontrar archivos que hayan sido modificados en los n últimos días. En este ejemplo se muestran los archivos que han sido modificados en los últimos 2 días.
find . -ctime -2 -type f.
La mejor ayuda es el manual que proporciona Linux.