Software para reemplazar múltiples cadenas de texto en múltiples archivos

Estoy buscando un software de Windows que pueda reemplazar varias cadenas de texto, en varios archivos, al mismo tiempo.

Tengo algunas palabras que quiero reemplazar en miles de archivos de texto. Por ejemplo, quiero reemplazar ab, abc, abcd, abcde, abcdef, abcdefg, abcdefgh.

No quiero hacerlo palabra por palabra (por ejemplo, usando la opción Reemplazar en archivos de Notepad ++ con cada reemplazo). Quiero reemplazar todas estas palabras al mismo tiempo. Quiero reemplazarlo con una palabra común; Vamos a decir hola".

¿Hay algún software que pueda hacer esto?

Nunca puede reemplazar todas las palabras en todos los archivos simultáneamente solo un archivo a la vez, posiblemente muy rápido. Esto se debe a los cuellos de botella de leer los archivos del disco, etc.
Entonces, ab se reemplaza con Hello , y abc se reemplaza con Hello , etc.

Respuestas (9)

Puede hacer esto con Notepad++ sin abrir sus archivos:

  • Abra el Bloc de notas++
  • PrensaCtrl + H
  • Cambie a la pestaña titulada "Buscar en archivos"
  • Especifique su texto de búsqueda y el reemplazo
  • Establezca la carpeta en la que están sus archivos
  • Según sus necesidades, puede especificar algunos filtros en sus archivos (por ejemplo: *.txt, *.html), puede marcar "en todas las subcarpetas", establecer el "modo de búsqueda", etc.
  • Haga clic en "Reemplazar en archivos"

Sin embargo, asegúrese antes de continuar con el paso final, porque es irreversible. Es posible que desee hacer clic en "Buscar todo" primero para verificar sus coincidencias.

Puede tomar un tiempo dependiendo del tamaño y la cantidad de sus archivos.

Reemplazar en archivos usando Regexp

Perdón por la respuesta tardía, pero lee mi pregunta nuevamente. Sé cómo hacerlo con el bloc de notas ++, pero solo puedo reemplazar un texto a la vez. Por ejemplo, si quiero reemplazar 100 palabras diferentes, debo hacer este reemplazo 100 veces diferentes. Lo que pregunto no es eso. Quiero hacer este reemplazo de 100 palabras con un solo clic
Bien, actualicé la captura de pantalla para que coincida con el ejemplo que diste. Todavía puede hacer esto con la función de reemplazo en archivos en el bloc de notas ++, pero debe configurar el modo de búsqueda en "Expresión regular" y debe formatear el patrón de expresión regular que coincida con todas las cadenas que desea reemplazar. Entonces, en su ejemplo, desea reemplazar ab, abc, abcd, ... con "Hola", entonces su patrón sería "^(.*)ab[az]+(.*)$" (excluya las comillas circundantes) y el reemplazo sería \1Hello\2 (\1 reemplaza la primera cadena rodeada por (), \2 \ la segunda y así sucesivamente).

Puede usar los puertos de Microsoft Windows de GNU awk o sed, que son CLI y de código abierto. Un puerto de uso común: http://gnuwin32.sourceforge.net/packages.html

Gracias Franco por el comentario. Intentaré esto también

He usado gsar gratuito para buscar o buscar/reemplazar varios archivos secuencialmente.

En su situación, pasaría por cada conjunto de criterios de búsqueda y reemplazo que especifique. Probablemente comenzaría con abcdefg, abcdef, abcde, etc. como han dicho otros, haga una copia de seguridad de su carpeta en caso de que su trabajo tenga resultados no deseados.

He usado esta herramienta en el pasado para:

  • cambiar el año de los derechos de autor en los sitios web
  • cambie los valores hexadecimales para el salto de línea de retorno de carro adecuado en Windows
  • busque caracteres que no sean ascii en los archivos

RProgram es correcto.

Soy autor del complemento FindInFile (FiF) para el editor CudaText.

  1. FiF de hecho puede hacer lo que quieras.FIF

  2. FiF llena un archivo de informe para mostrar todos los fragmentos encontrados y todos los reemplazos. Informe de ejemplo. "(!N)" marca la línea con el fragmento encontrado, "(=N)" marca la línea con el reemplazo.ingrese la descripción de la imagen aquí

  3. En CudaText, el archivo de informe está vivo . Puede saltar al punto de reemplazo en el archivo de origen.

El complemento FiF es estable. Consulte github.com/kvichans/cuda_find_in_files para obtener más información y hacer preguntas.

Parece que el editor CudaText puede hacer esto. Es gratis, Windows/Linux. Complemento necesario: "Buscar en archivos" (está en AddonManager en CudaText).

En el cuadro de diálogo "Buscar en archivos", ingrese dicha cadena para buscar: (ab|def|fgfg)- esta es una expresión regular, así que marque la opción "Reg ex" (es un icono .*en el cuadro de diálogo).

Pruebe Text Replacer , aquí hay algunas capturas de pantalla:

Reemplazador de texto

Reemplazador de texto

Reemplazador de texto

Reemplazador de texto

Dependiendo del tamaño de los archivos y las especificaciones de su PC, esto debería ser posible con Notepad++.

  1. Abra todos los archivos con Notepad ++ (o solo 200 o algo así, dependiendo de su PC)
  2. CTRL + H
  3. Establezca find what to ab|abc|abcd|abcde|abcdef|abcdefg (lo que sea que esté tratando de reemplazar, sepárelo con |. es una expresión regular básica, recomiendo buscar eso)
  4. Establezca reemplazar con lo que quiera (en su ejemplo, Hola)
  5. Establezca el modo de búsqueda en "Expresión regular"
  6. Presione reemplazar todo en todos los documentos abiertos
El OP dijo específicamente que no quería tener que abrir todos los archivos para hacer esto, hay miles de ellos.
No quiero abrir archivos. Pero si esto funciona en archivos abiertos, creo que también debería funcionar bien en archivos. ¿no es así? intentará. Gracias por tu comentario.

Puede usar el software de búsqueda y reemplazo avanzado de http://www.abacre.com/afr/. En el reemplazo por lotes, puede ingresar tantas palabras o líneas como necesite y cambiará en todos los archivos en una carpeta sin abrir la carpeta. archivos

https://www.powergrep.com/list.html

La mayoría de las herramientas grep solo pueden buscar una sola expresión regular. Con PowerGREP puede usar hasta cinco conjuntos de términos de búsqueda. Cada conjunto puede usar un número ilimitado de expresiones regulares.

No es gratis pero tampoco lo es nuestro tiempo