Comando Linux para reemplazar un texto por otro

Antivirus Linux

Las órdenes utilizados son: find, grep, xargs y perl
La búsqueda de ficheros se realiza recursivamente por los subdirectorios

Comandos

Buscar ficheros recursivamente

find -type f -name *.zz
-type fUn fichero normal
-name patternPatrón de búsqueda
-regexp patternExpresión regular

Borrar ficheros recursivamente

find -type f -name *.zz -delete
-deleteBorra el fichero

Ejecutar una orden recursivamente

find -type f -name *.zz -exec orden '{}' \;
'{}'Comodín para el fichero actual
\;Final del comando

Buscar ficheros recursivamente que contengan un texto

grep -R -P -l 'texto buscado' *
-RRecursivo por directorios
-PExpresión regular en PERL
-lListar ficheros

Reemplazar un texto por otro en un fichero

perl -p -i -e 's/búsqueda/reemplazo/g' fichero.txt
-iEdita el fichero sin hacer copia de seguridad

Ejemplos

Borrar virus introducido en las páginas PHP

grep -R -P -l '[\t ]+eval\(base64_decode\("[A-Za-z0-9\=\/\+]+"\)\);' * | xargs -d '\n' perl -p -i -e 's/[\t ]+eval\(base64_decode\("[A-Za-z0-9\=\/\+]+"\)\);//'
*Todos los ficheros
xargsConvierte la entrada en argumentos

La expresión regular busca un virus que sea algo como lo siguiente:

eval(base64_decode("ZXJyb3JfcmVwb…   …X0NCgl9"));

El virus se copia en los ficheros PHP, entre las etiquetas <?php y ?>. Suele tener muchos espacios en blanco al principio para intentar pasar desapercibido al examinar visualmente el código PHP.

Comentarios

Proinf.net, ©2003-2017 ci 3.1.5 (CC) Esta obra está bajo una licencia de Creative Commons Este software está sujeto a la CC-GNU GPL