Ayuda e Ideas para el administrador de sistemas Linux, Bitcoins, Redes

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

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
  • 12 Responses to “Buscar y Reemplazar texto en todos los archivos dentro de un directorio y todos los subdirectorios”

    1. emhe says:

      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. ninoska says:

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

    3. Felipe says:

      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. framontb says:

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

    5. elche says:

      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?

    Powered by WordPress | Designed by Elegant Themes