Buscar y Reemplazar texto en todos los archivos dentro de un directorio y todos los subdirectorios 13

Si buscaban como reemplazar texto dentro de varios archivos en una sola linea de comando, han llegado al lugar correcto. Muchas veces tenemos que buscar o hacer cambios a un texto determinado y para empezar no sabemos ni en cual archivo, documento o directorio puede estar.

Digamos que le cambiamos direccion IP al servidor, y es necesario hacer los cambios en todos los archivos de configuracion y logs donde aparezca la IP anterior.

Para no estar buscando durante horas entre todos los archivos de nuestro servidor, les paso estos tips para reemplazar strings alfanumericos en linux.

  • Para reemplazar un texto o string cada vez que aparezca en los archivos:
  • deathbian:~# find /path/directorio "*.txt" | xargs perl -pi -e 's/texto/reemplazo/g'
    

  • Para reemplazar la primera vez que aparezca el texto:
  • deathbian:~# find /path/directorio "*.txt" | xargs perl -pi -e 's/texto/reemplazo/'
    

  • Para reemplazar todos los archivos dentro de un directorio:
  • deathbian:~# for arg in `ls -C1`; do perl -pi -e 's/texto/reemplazo/g'; done;
    

Existe infinidad de combinaciones posibles utilizando el shell de la linea de comandos. Tomemos como ejemplo la primera busqueda:

deathbian:~# for arg in `find /your/home/dir -name "*.txt"` ; do perl -pi -e 
's/texto/reemplazo/g' $arg; done;

Terminos de busqueda

  • que pasos hay que seguir para buscar y reemplazar un texto
  • buscar y reemplazar linux
  • reemplazar texto linux
  • linux reemplazar texto
  • buscar y reemplazar cadena dentro de varios archivos
  • buscar y reemplazar texto
  • reemplazar texto en archivos
  • comando reemplazar linea texto
  • perl reemplazar textos en un archivo
  • perl reemplazar texto
  • 13 thoughts on “Buscar y Reemplazar texto en todos los archivos dentro de un directorio y todos los subdirectorios

    1. Reply Dumasleis Jul 27,2015 02:52

      Gracias por el post. Por si a alguien le interesa, algunos ejemplos mas para hacer el “buscar-reemplazar” con sed: http://www.sysadmit.com/2015/07/linux-reemplazar-texto-en-archivos-con-sed.html

    Comentario, Preguntas o agradecimientos?

    %d bloggers like this: