Sustituir texto en multiples ficheros

De Recursos Educativos
Revisión del 10:37 4 dic 2018 de Lantolin (discusión | contribs.)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
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.