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

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
  • 15 thoughts on “Buscar y Reemplazar texto en todos los archivos dentro de un directorio y todos los subdirectorios

    1. 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

    2. 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

    3. 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

    4. Reply framontb Jul 1,2010 03:32

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

    5. 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

    Comentario, Preguntas o agradecimientos?