GNU Emacs: Reemplazar texto en múltiples ficheros
Una utilidad muy interesante que incorpora el modo “dired” de Emacs
Selección de ficheros
Lo primero es abrir el directorio dónde están los ficheros a modificar. Lo puedes hacer con C-x d o bien con el menú en “File→ Open Directory”.
A continuación puedes mover el cursor sobre la lista de ficheros y marcar (m) o “desmarcar” (u) los ficheros que quieras.
Si quieres seleccionar con comodines, escribe % m y escribe un patrón, por ejemplo, para marcar todos los ficheros que acaban en “html”:
% m html$
Reemplazando
Ahora ejecuta el comando:
M-x dired-do-query-replace-regexp
En su lugar puedes utilizar la opción de menú: “Operate→Query Replace in Files” o simplemente pulsar Q.
Y emacs te pedirá el texto original y el que deseas poner es su lugar. Para cada ocurrencia que encuentre en cada uno de los ficheros marcados, deberás respondes si quieres reemplazar (y/n). Si quieres reemplazar todas pulsa !.
Para guardar los cambios, lo más fácil es:
M-x save-some-buffers