Borrar línea de ficheros masiva y recursivamente

codeHace pocos días, me hicieron una consulta relacionada con un ataque a una web, el resultado fue encontrarme con miles de archivos de la web modificados que contenían una línea con código Javascript ofuscado, que contenía un enlace a una web ucraniana.

Para modificar todo este código, a mano sería imposible modificar tantos ficheros, aunque sólo sea una línea en cada uno.

Para hacerlo, basta con hacer un script en linux que busca coincidencias en todos los ficheros recursivamente y borra la línea con dicha coincidencia.

Este script nos valdrá para arreglar cualquier directorio de ficheros en los que deseemos borrar un determinado código con un mismo patrón.

for f in *.txt; do sed '/texto a buscar/d'
"$f"; done
find -name '*.txt' -exec sed '/texto a buscar/d' "{}" ';'

El for recorrerá todos los ficheros de formato .txt (podremos cambiarlo por el que deseemos) y borrará las líneas con la coincidencia de la cadela “texto a buscar“.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

© 2019 Soy Autodidacta | Design Theme by: D5 Creation | Powered by: WordPress