Búsqueda y sustitución masiva en ficheros con find, sed y expresiones regulares | el holgazán

martes 23 de octubre de 2007

Búsqueda y sustitución masiva en ficheros con find, sed y expresiones regulares

Supongamos, por ejemplo, que queremos buscar en una determinada carpeta (y en sus subcarpetas incluidas recursivamente) los ficheros de extensión html y hacer una sustitución masiva de un determinado texto que cumpla cierto patrón por otro diferente considerando las coincidencias con el patrón anterior.

Para ello se pueden utilizar los comandos find y sed, de la siguiente manera:

find . -type f -name "*.html" -exec sed -i -e "s/unaCadena/otraCadena/g" "{}" \;
A estas cadenas se pueden aplicar expresiones regulares. Ver también esta hoja rápida de referencia, muy útil.

Otros comandos unix/linux en UNIXhelp.

Si tienes Windows, puedes instalarte Cygwin para ejecutar comandos unix/linux.