Buscar y reemplazar en múltiples archivos

Comments   1   Date Arrow  Mayo 27, 2008 at 8:53am   User  by Pedro Marce

Ésto sirve para Mac OS y muy probablemente (casi seguro de hecho) para todas las distribuciones de linux.
El objetivo es reemplazar una cadena de carácteres en muchos archivos al mismo tiempo y de la forma más vaga posible, que para algo somos informáticos, frikis de ésos…
find . -type f -name '*.html' -exec sed -e 's/.*old.*/new/g' -i bak {} \;
Y la explicación del comando es, con el find encontramos los archivos que buscamos, en este caso especificamos que sean archivos (no directorios u otros) con -type f, y que el nombre sea *.html.
Y con -exec decimos que para todos esos archivos que encuentre ejecute sed con el comando “-e” para reemplazar mediante expresiones regulares y lo edite al momento guardando la versión antigua como .bak “-i”. Las llaves “{}” es dónde vendrá el nombre de archivo que ha encontrado el find.
Finalmente lo cerramos con un “;” que tenemos que “escapar” con el carácter “\” para no haya problemas y ya lo tenemos listo.
Para los espabilados, seguro lo sabéis ya pero, lo mismo podemos hacer con cualquier comando (o varios combinados) disponibles en sed, eliminar líneas, seleccionarlas, cambiarlas, etc….

5 últimas entradas en linux

5 últimas entradas en mac

5 últimas entradas en tutorial

5 últimas entradas en utilidades

Tagged   linux · mac · tutorial · utilidades

1 Comments

Leave a Comment


Cerrar
Enviar por Correo