En mi caso, no utilizo linux a diario y tampoco me paso leyendo manuales enteros. Así que cada vez que me veo en la necesidad de resolver algún problema también aprendo algo nuevo.
Necesitaba borrar todos los archivos ZIP cuyo tamaño fuera inferior a 1KB de una carpeta que contiene gran cantidad de archivos.
En linux, si no se puede de una forma siempre se podrá de otra, lo que no me pasó por la mente es que fuera tan simple como utilizar los comandos find y rm combinados, pues no recuerdo en algún momento haber visto el parámetro exec de find, aunque viendolo detenidamente es lógico que uno quiera hacer algo con el resultado de la búsqueda.
find . -name "*.zip" -size -1k -exec rm {};
NOTA: si aparece algún mensaje de error del tipo "no se ha dado el argumento requerido a la opción -exec" se soluciona colocando una diagonal invertida al punto y coma.
find . -name "*.zip" -size -1k -exec rm {}\;
Básicamente lo que indicamos al comando find es, que busque todos aquellos archivos cuyo nombre corresponda al patrón *.zip y cuyo tamaño sea menor a 1KB y luego ejecute sobre ese resultado la instrucción rm.
Ál ejecutar el comando en Centos 5 envía como resultado.. find missing argument to '-exec .... hay alguna condición especial para que funcione en Centos 5 ....?
ResponderBorrarGracias
Basta con colocar una diagonal invertida (back slash) antes del punto y coma.
ResponderBorrarHay que poner un espacio entre los corchetes y el slash para que funcione
ResponderBorrarfind . -name "*.wav" -size -8k -exec rm {} \;
Saludos
find . -name "*.extension" -size -tamañaoref -exec rm {} \;
ResponderBorrarextension==> zip, wav o al extensión de los archivos que quieras.
tamañoref==> El tamaño de referencia a borrar. -10k- será menos de diéz k.
saludos.