Sustituir texto en multiples ficheros

De Recursos Educativos
Ir a la navegación Ir a la búsqueda

Queremos sustituir old-word por new-word en todos los ficheros .txt y crear un fichero de backup .bak para cada uno de los ficheros que se alteren.

sed -i.bak 's/old-word/new-word/g' *.txt

Otro método que haría lo mismo:


perl -p -i.bak -e 's/old-word/new-word/g' *.txt

Obviamente se pueden usar otras expresiones regulares mas allá de la simple sustitución. Ojo que sed y perl soportan expresiones regulares de forma ligeramente diferente.

Otra combinación potente es encadenar este comando con find y xargs.