Para reemplazar todas las cadenas cadena1 por cadena2 en todos los archivos ejecute:
grep -ril cadena1 * | xargs perl -pi -i.bak -e "s@cadena1@cadena2@g";
Nota: Los @ son separadores, puede utilizar otros caracteres teniendo en cuenta que el mismo no perteneza a la cadena buscada o escape en la cadena dicho caracter.
Por ejemplo:
Si su separador es @ y su cadena a buscar es @dominio.com debería escaparlo de la siguiente manera:
grep -ril cadena1 * | xargs perl -pi -i.bak -e "s@\@dominio.com@cadena2@g"; (Note la \ antes de la @)
Este comando genera archivos .bak (respaldos), si todo ha salido bien ejecute el siguiente comando para eliminarlos:
find -name \*.bak | xargs rm -f {} \;
miércoles, 25 de noviembre de 2009
LINUX: Buscar y reemplazar
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario
Me interesa mucho tu opinión, consejo, aporte, sugerencia y todo lo que tengas para decir. Cualquier aporte enriquecerá este blog.
Desde ya muchas gracias!