Tengo un archivo con varias instancias de Text_1
y Text1
necesito reemplazar ambas cadenas con Text_A
y TextB
respectivamente.
Actualmente estoy haciendo dos funciones Buscar y reemplazar en cada archivo, una que lo encuentra Text_1
y lo reemplaza Text_A
y la otra que lo encuentra Text1
y lo reemplaza TextB
.
¿Hay alguna forma de hacer todo esto de una vez en lugar de tener que ejecutar "Buscar y reemplazar" dos veces?
Estoy usando Dreamweaver CS3, pero también tengo Notepad ++, Notepad normal, OO Writer, MS Word si eso será más fácil. Idealmente, podría hacer esto en Dreamweaver o Notepad ++, pero estoy dispuesto a descargar otra cosa para hacer el trabajo. Prefiero no tener que hacer cosas de la línea de comandos o crear un archivo por lotes (aunque lo sé, no lo entiendo realmente).
En caso de que la descripción anterior no sea clara, déjame explicarte de esta manera ...
Quiero ejecutar Buscar y reemplazar 1 vez en 1 documento y quiero que haga TODO lo siguiente durante esa instancia de Buscar y reemplazar:
- Buscar
Text_1
y reemplazar conText_A
- Buscar
Text1
y reemplazar conTextB
Estoy no tratando de hacer un Buscar y reemplazar en varios documentos.
Respuestas:
Echa un vistazo a Sed . Puede lograr fácilmente su objetivo con solo una línea de comando
sed -e "s/Text_1/TextA/" -e "s/Text1/TextB/" <your_file.txt>your_file_new.txt
fuente
Desde Notepad ++ 6.0 es realmente posible sin scripts usando la siguiente técnica:
Buscar: (Texto_1) | (Texto2)
Reemplazar: (? 1Text_A) (? 2TextB)
La sintaxis general es:
? 1 se refiere a la primera frase capturada y así sucesivamente.
Obtuve esto de la siguiente respuesta: /programming//a/16104946/287101
fuente
Usando Notepad ++, puedes
Abra todos los archivos que contengan las palabras que desea reemplazar y utilice Buscar / Reemplazar en todos los archivos abiertos
Use Buscar / Reemplazar en archivos
Grabe una macro realizando las opciones de buscar y reemplazar y reprodúzcala
fuente
Es mejor que ejecutes Buscar y reemplazar dos veces, porque tienes dos reemplazos diferentes. Sin embargo, debe haber muy poca compensación en el tiempo de procesamiento. Considera lo siguiente:
Ejecutando Buscar y reemplazar una vez, buscando término por término:
Para fines de ejecución, asumiremos que es lineal y diremos que esto se ejecuta en tiempo O (n).
Desea encontrar dos términos diferentes. Ejecutar Buscar y reemplazar dos veces se ve así:
lo que llevaría tiempo O (2x1n), o el doble de tiempo que buscar un término.
La búsqueda de dos términos con dos reemplazos teóricamente se vería así:
Obtener los términos no requiere tanta potencia de procesamiento, por lo que esencialmente está buscando dos conjuntos de búsquedas para cada término, dando un tiempo de O (1x2n), ejecutándose una vez pero buscando dos términos.
Si bien ahorraría algo de tiempo al no cargar cada término dos veces, pasaría más tiempo buscando cada término dos veces, por lo que hay poca compensación, y dado que esta característica se usaría con menos frecuencia que la búsqueda de un término con un reemplazo, los desarrolladores de aplicaciones simplemente asumen que no escriben Esa funcionalidad.
fuente
El soporte de expresiones regulares en Notepad ++ está severamente limitado. Sin el operador de alternancia, no hay esperanza de acercarse a lo que quiere hacer. Necesitarás usar
sed
un editor que tenga mejor compatibilidad con expresiones regulares.Fuente
Ver también
GNUWin32
sed
para Windowsfuente
Uso TextCrawler para buscar y reemplazar por lotes. (Uso Notepad ++ para búsqueda / reemplazo único en varios archivos, ya que es más rápido que Textcrawler). TextCrawler admite expresiones regulares, así como búsqueda / búsqueda normal. Los archivos por lotes se pueden guardar y volver a cargar para su uso futuro.
fuente
También se puede hacer usando ActiveX Plugin (para Notepad ++) y ejecutando script personalizado:
fuente
Esto funciona para todos los números (para eliminar todos los números del texto / artículo)
Presione Ctrl + H para abrir el cuadro de diálogo Buscar y reemplazar.
En el cuadro "Buscar qué", escriba ^ #
Deje el cuadro "Reemplazar con" vacío.
Reemplaza todo.
fuente