Buscar artículos en cambiatealinux.com

Vaciar ficheros recursivamente sin borrarlos


Por Alex el 25/10/2017 , Comentar el artículo

Comparte este artículo:        

Desde el terminal con el comando find podemos buscar y truncar (vaciar) ficheros que sean demasiado grandes, que tengamos muchos y que no queramos borrarlos.


¿ Como hacerlo ?, sencillo, con la combinación de comandos como find, exec, ls, echo, etc primero buscaremos los ficheros que queremos truncar, en mi caso, ficheros llamados error.log, que tengo un montón de diversos proyectos.

find . -name error.log -exec ls -lh {} \;


Y nos mostrará un listado como el siguiente:

Buscar ficheros de un determinado tipo recursivamente

Como podéis ver todos los ficheros tienen un determinado tamaño y lo que queremos es dejarlos a tamaño 0.

Ahora ejecutamos la instrucción de truncar todos los ficheros encontrados, esto dejara los ficheros 0 bytes

find . -name error.log -exec sh -c 'echo -n "" > $1' sh {} \;


Y si volvemos a buscarlos veremos que están a 0 bytes excepto uno, esto ha pasado porque ese fichero tenia otros permisos y no me ha dejado truncarlo.

Buscar ficheros de un determinado tipo recursivamente


Y esto es todo amigos!!
Gracias por seguirme y leerme, espero que les haya ayudado
Saludos
Alex.



Si te ha gustado el artículo compartelo en:        


Publicidad


Añadir un comentarios:

Nombre:
Email: (no se publica el email)





Publicidad



RECOMENDADOS


LOS MAS LEÍDOS


CATEGORÍAS
ARCHIVO