domingo, 13 de abril de 2014

Las acciones -delete y -exec del comando find

Al realizar una búsqueda masiva en nuestro sistema de archivos usando el comando find, podemos realizar ciertas acciones sobre el resultado de dicha búsqueda. Veremos cómo mover, copiar o eliminar los archivos obtenidos en una búsqueda.

Para eliminar archivos usaremos la acción -delete. Simplemente eliminaremos todos los ejecutables de Windows encontrados en la búsqueda; -iname para ignorar si está en mayúscula o no.
[fraterneo@rainbow ~]$ find /mnt/windows -iname '*.exe' -delete
Para copiar archivos de la ruta de búsqueda a una ruta destino usaremos la acción -exec. Veamos estos dos ejemplos.
[fraterneo@rainbow ~]$ find /mnt/windows -iname '*.doc' -exec cp '{}' /home/fraterneo/Documents \;
En esencia -exec toma de '{}' el resultado de resultado de la búsqueda de find y se lo da a cp como "origen" para que lo copie en el destino que está después. Finalmente escapamos el ; para que no lo tome como parte de la ruta, sino como un separador de comandos para cada línea del resultado de find.

Para mover archivos la sintaxis es la misma.
[fraterneo@rainbow ~]$ find /mnt/windows -iname '*.rpm' -exec mv '{}' /home/fraterneo/Documents \;

No hay comentarios:

Publicar un comentario