Buscar archivos en la terminal de Linux
Buscar y borrar archivos
Después de trabajar con sistemas Linux, Mac y Windows, uno puede darse cuenta que se generan una serie de archivos ocultos al cambiar de un sistema a otro, entre los cuales podemos citar: Thumbs.db, Desktop.ini, .DS_Store, etc.
En los sistemas Linux y OSX, al ser tipo Unix, podemos ejecutar la siguiente instrucción para encontrar y borrar esos archivos:
find /directorio/usado -name nombre_del_archivo -exec rm {} \;
Por ejemplo si deseamos borrar todos los archivos Thumbs.db de la carpeta /home/juanito:
$ find /home/juanito -name Thumbs.db -exec rm {} \;
De igual forma podemos sólo listar los archivos usando el comando ls y podemos usar el comodín ** para buscar, así, el código \’*.doc\’ nos busca todos los archivos de extensión .doc*** de la ruta:
$ find /home/juanito -name '*.doc' -exec ls {} \;
Buscar y copiar archivos
También se puede buscar un tipo específico de archivos y pasarlos a una carpeta, por ejemplo para pasar todos los archivos jpg que existan en una carpeta y pasarlos a otro carpeta:
$ find . -type f -name '*.jpg' -exec cp {} /destino \;
Buscar y cambiar extensión del archivo
Otro uso que se le puede dar a este comando es cambiar la extensión a multiples archivos, por ejemplo yo acostumbo a usarlo en las fotos para cambiar todos los *.JPEG* por la extensión .jpg**
find . -type f -name *.JPEG -exec rename 's/.JPEG$/.jpg/' '{}' \;
Como se puede ver, aprender a usar el comando find es muy útil y puede ser una herramienta muy potente.
Copiar todos los archivos .
Uno de los usos que más realizo de este comando es mover todos los ePub de un directorio hacia otro:
find . -type f -name "*.epub" -exec cp {} ~/Directorio/ \;