miércoles, 19 de diciembre de 2012

Borrado recursivo de archivos LINUX

Hay ocasiones en las que se necesita borrar archivos o directorios que siguen un patrón (se llaman igual, son archivos de imagen, archivos .html...) y éstos están repartidos dentro de una jerarquía de directorios en los que borrar uno a uno sería una tarea muy tediosa.

Una manera sencilla de hacer esta tarea sería usando find y rm conjuntamente.



Ejemplo1:
Borrado de todas las imágenes .jpg en una jerarquía de directorios.

rm `find <directorio> -type f -name <nombre archivo>`

 $rm `find . -type f -name '*.jpg'`  



Ejemplo2:
Borrado de todos los directorios .svn en una jerarquía de directorios.

rm -rf `find <directorio> -type d -name <nombre directorio>`

 $rm -rf `find . -type d -name .svn`  




NOTA:
-Nótese que el comando find varía según lo que se quiera borrar. Se eligió en la opción "-type" el tipo "f" para archivos y "d" para directorios. 
En el manual de find se comentan todos los tipos de archivos que se pueden elegir.

No hay comentarios:

Publicar un comentario