Borrado automático de ficheros en función de su contenido (Unix)

Gracias a tres sencillos comandos Unix (probados en HP-UX) es muy fácil localizar, borrar o listar ficheros que tengan una cadena de texto determinada.

Con la combinación de los comandos: grep, find, exec, rm y ll podemos realizar estas tres tareas de una manera masiva y segura.

Localiza los ficheros que contienen una determinada cadena de caracteres y muestra la linea en la que aparece dicha cadena:

find . -exec grep -i ‘texto que debe contener el fichero’ {} \;

Primero hacemos un find y a este lo completamos con la ejecución de un grep con el modificador -i para que busque la cadena de texto que a continuación metemos entre comillas simples (también funciona con comillas dobles como se mostrará a continuación).

Borra todos los ficheros que contengan una determinada cadena de caracteres:

find . -type f -exec grep -q “texto que debe contener el fichero” {} \; -exec rm -f {} +

En este caso al final hacemos un -exec rm -f para que borre sin preguntar lo que haya encontrado en el find anterior

Listado de los ficheros que contienen la cadena en cuestión y guardado del listado en un log:

find . -type f -exec grep -q “ksugetosstat failed: op = pstat_getprocessor, location = slsgetactive ()” {} \; -exec ll -lrt {} + > /tmp/listado_de_ficheros.log

En este caso ejecutamos un ll -lrt para sacar el listado ordenado por tiempo de los ficheros que contienen la cadena y guardarlo en un log.  Si quitamos: > /tmp/listado_de_ficheros.log en lugar de meterlo en ese log nos lo sacará por pantalla.

Consejo: Si planificamos estos comandos en el crontab podremos planificar y automatizar estas acciones.

Por favor, si te ha gustado este artículo puntúalo pulsando sobre las estrellas.

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (Sin puntuación)
Loading ... Loading ...
1.685 veces visto

¡Compártelo!

Escribe un comentario

El email no se publicará ni cederá a nadie. Sólo es usado para fines técnicos de esta web como el control de comentarios y la inserción automática de avatares con gravatar.

Conectar mediante Facebook

Nombre: (Requerido)

Correo electrónico: (Requerido). No se publicará.

Website:

Comentario: