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)
Podemos proceder por etapas:
- COCHE AZUL se convierte en #OCHE AZUL
reemplazar
- COCHE XXX se convierte en AUTO GRIS
reemplazar
- #OCHE AZUL se convierte de nuevo en COCHE AZUL
reemplazar
Saludos
(*) si alguien tiene una solución ....
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 por
AUTO,GRISpero 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,)(.*?,)(.*?,)(.*?,)(.*)por
AUTO,\2GRIS,\4\5.
- #OCHE AZUL se convierte de nuevo en COCHE AZUL
reemplazar
^#OCHEpor
COCHE.
Saludos
(*) si alguien tiene una solución ....
Jack80
Gracias Jee Pee, funciona perfectamente.
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.
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
@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