De este sitio (http://forums.devshed.com/unix-help-35/unix-replace-text-files-directory-146179.html) obtenemos algunas de las opciones:
Haciendo un script que utiliza el comando sed.
Mejora del script añadiendo la lectura de la extensión de los ficheros, el texto a sustituir y el texto a poner en su lugar:
Pasándole el comando sed a la salida del comando find:
Utilizando perl como comando. En este ejemplo el texto "applicationX" es sustituido por "applicationY".
Esta de arriba es la que he podido utilizar en HP-UX V11.31 Me he posicionado en el directorio dónde tenía los ficheros a modificar y he ejecutado: "find . -type....."
Otra forma de utilizar perl. En este ejemplo el texto "design" es sustituido por "dezine".
En este otro sitio (http://www.cyberciti.biz/faq/unix-linux-replace-string-words-in-many-files/) tenemos unas interesantes variantes:
Con la opción -i de sed:
En muchos UNIX, no tenemos la opción -i, pero no hay problema si la sustitución es en un solo fichero:
En esos UNIX podemos hacer el script bash siguiente:
Tenemos también la opción -pie de perl:
Algunos prefieren utilizar sed con grep para la localización de los ficheros y la sustitución de los textos. Es el ejemplo que encontramos en http://vasir.net/blog/ubuntu/replace_string_in_multiple_files
Si estamos hablando de un servidor WINDOWS, y ficheros que se pueden abrir con un editor de texto, podemos utilizar el VI mejorado (VIM). En este sitio (http://usevim.com/2012/04/06/search-and-replace-files/) tenemos ejemplos.
Básicamente se trata de abrir todos los ficheros de texto a la vez (vim *.txt por ejemplo). Luego con el comando argdo podemos ejecutar el comando de sustitución en todos los ficheros.
Saludos,
No hay comentarios:
Publicar un comentario