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“.

¿Te ha gustado? Compártelo y Comenta! Puedes darme tu opinión o consultar tus dudas, de esta forma mantendremos la blogosfera viva.

    Deja un comentario

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


    *

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