Sustituir texto en multiples ficheros

De Recursos Educativos
Revisión del 20:27 30 mar 2018 de Lantolin (discusión | contribs.) (Página creada con «Queremos sustituir <code>old-word</code> por <code>new-word</code> en todos los ficheros <code>.txt</code> y crear un fichero de backup <code>.bak</code> para cada uno de l...»)
(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.