Búsqueda multicriterio con Notepad
Resuelto
Jack80
-
Jack80 -
Jack80 -
Hola,
tengo un archivo de varias centenas de líneas de este estilo
OFICINA, SILLA, AZUL, 1234, RZC
COCHE, 6CV, VERDE, 5478, GHF
OFICINA, MESA, AZUL, 8742, JUD
COCHE, 7CV, VERDE, 2457, FDS
COCHE, 7CV, AZUL, 3651, FDS
OFICINA, LÁMPARA, NEGRO, 5475, HIJ
COCHE, 7CV, AZUL, 1265, IOG
OFICINA, ARMARIO, NEGRO, 9875, HDS
COCHE, 7CV, VERDE, 8574, FDR
COCHE, 7CV, NEGRO, 3655, FDY
COCHE, 7CV, AZUL, 3651, FDS
COCHE, 6CV, AZUL, 1234, GHP
y con Notepad, me gustaría buscar y reemplazar los "COCHE" que no son "AZUL" por "AUTO" "GRIS" manteniendo el conjunto de las líneas.
¿Es posible?
Gracias por tu respuesta
Configuración: Windows / Chrome 83.0.4103.116
tengo un archivo de varias centenas de líneas de este estilo
OFICINA, SILLA, AZUL, 1234, RZC
COCHE, 6CV, VERDE, 5478, GHF
OFICINA, MESA, AZUL, 8742, JUD
COCHE, 7CV, VERDE, 2457, FDS
COCHE, 7CV, AZUL, 3651, FDS
OFICINA, LÁMPARA, NEGRO, 5475, HIJ
COCHE, 7CV, AZUL, 1265, IOG
OFICINA, ARMARIO, NEGRO, 9875, HDS
COCHE, 7CV, VERDE, 8574, FDR
COCHE, 7CV, NEGRO, 3655, FDY
COCHE, 7CV, AZUL, 3651, FDS
COCHE, 6CV, AZUL, 1234, GHP
y con Notepad, me gustaría buscar y reemplazar los "COCHE" que no son "AZUL" por "AUTO" "GRIS" manteniendo el conjunto de las líneas.
¿Es posible?
Gracias por tu respuesta
Configuración: Windows / Chrome 83.0.4103.116
3 respuestas
-
Hola,
Como se escribió más arriba, hacer una versión actualizada del archivo con una hoja de cálculo (excel, ...) sería fácil.
Pero si notepad no se refiere a la block de notas de Windows, sino al editor notepad++, con expresiones regulares podemos hacer el trabajo.
No en un solo comando, ya que SI EXCEPTO permite apuntar a una línea, solo se puede reemplazar completamente, no recuperar elementos (*).
Así, con el reemplazar de notepad++ (casilla de expresión regular marcada)^(COCHE,)((?!AZUL).)*$
identifica las líneas de coche EXCEPTO azul y permite reemplazar la línea porAUTO,GRIS
pero no recuperar la información original.
Podemos proceder por etapas:
- COCHE AZUL se convierte en #OCHE AZUL
reemplazar^(COCHE,)(.*?,)(AZUL,)(.*?,)(.*)
por#OCHE,\2\3\4\5
.
- COCHE XXX se convierte en AUTO GRIS
reemplazar^(COCHE,)(.*?,)(.*?,)(.*?,)(.*)
porAUTO,\2GRIS,\4\5
.
- #OCHE AZUL se convierte de nuevo en COCHE AZUL
reemplazar^#OCHE
porCOCHE
.
Saludos
(*) si alguien tiene una solución ....
-
Hola
Lamentablemente, el Bloc de notas "notepad.exe" no es más que un editor de textos que, aunque tiene una función de Buscar/Reemplazar, es rudimentario.
Su solicitud de búsqueda "condicional" se encuentra más en el ámbito de una hoja de cálculo, siempre que se domine un poco. Las comas podrían interpretarse fácilmente como separadores de columnas.
¡Hasta luego!
--
Si la respuesta le ha ayudado o le ha servido: un pequeño agradecimiento, si se ha resuelto: haga clic en el botón verde de arriba ;-)
Que aquel que nunca haya abierto un manual de usuario me lance el primer ratón. -
Hola a todos,
@jeepee, tu solución utiliza los comandos combinados que permiten realizar cualquier orden y filtrado, pero "obliga" a dominar la sintaxis.
Dado que nos lo propones, sugiero recuperar el archivo de texto en el software Base de la suite LibreOffice.
Utilizando las funciones de esta base de datos, creo que podemos obtener el mismo resultado llenando una simple consulta, e incluso encadenarlas gracias al lenguaje de programación Basic.
¿Qué opinas?
Saludos cordiales