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 dante Feb 12,2008 17:47

      hace dos dias estoy buscando algo que me permita hacer esto, mil gracias 😀

      • Reply Reyes Jun 5,2008 12:53

        Que buena ayuda !!!, en verdad que da gusto saber que hay gente profesional dedicada a colaborar con los demas. Muchas gracias por el aporte. (b):D(ci)

    2. Reply fher98 Dec 16,2008 10:33

      Para reemplazar direcciones de correo en la configuracion de exim utilizo;

      find /etc/exim/* | xargs perl -pi -e ‘s/usuario\@dominio.com//g’

      y con eso puedo borrar la direccion de usuario en N documentos.

    3. Reply bartolo Jun 16,2009 07:52

      perl -pi.bak -e “s/favicon.ico/fernando.ico/g;” configuration.php busca en el archivo configuration.php y reemplaza favicon.ico con fernando.ico

    4. Reply alianza Nov 6,2009 03:33

      deben saber escribir y explicar lo que eñl explorador pregunta

    5. Reply elche Dec 1,2009 00:40

      como los utilizo en donde los tengo que poner expliken un poco

    6. Reply elche Dec 1,2009 01:41

      aca les dejo uno que encontrre reemplaza lineas de texto masivamente en muchas clases de archivoo para xp TexFinderX 2.14 for Windows XP and Vista

    7. Reply framontb Jul 1,2010 03:32

      ¡¡¡ Genial !!! Me ha venido de perlas.

    8. Reply Felipe Nov 26,2010 12:10

      Muchas gracias!!!!, me sirvio mucho para resolver un gran problema que tenia, ya que debía realizar un reemplazo de mas de 25 mil archivo y funciono sin ningun problema.

      Saludos y gracias nuevamente

    9. Reply ninoska Jan 20,2011 19:04

      He tratado de usar esto en linux pero me dice que los archivos no son regulares? Que puede ser? Grácias

    10. Reply emhe Jul 18,2011 11:40

      Hola.

      Tengo una inquietud adicional:

      La cadena que debo reemplazar está dentro de dos posiciones específicas. Si la encuentra en otra posición no debe reemplazar.

      ¿Qué se debe hacer?

      Mil gracias

    11. 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: