Notepad++ Búsqueda por columnas

Notepad++ Búsqueda por columnas

Me gustaría buscar un archivo solo en la primera columna en función de un conjunto de ID de otro archivo. Copie y pegue los resultados en otro archivo de salida.

Por ejemplo ,

Mi primer archivo contiene

ABHA-PHY49M
ABHA-PHY49N
ABHA-PHY49O

Mi segundo archivo contiene

"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi,
Some mail contents1
Kind Regards,"

"ABHA-8RXIYY";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi,
Some mail contents2
Kind Regards,"

"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYCCC";"Hi,
Some mail contents3
Kind Regards,"

"ABHA-8RXIXX";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYDDD";"Hi,
Some mail contents4
Kind Regards,"

Necesito recuperar todas las líneas que coincidan con los identificadores del primer archivo con el valor de la primera columna. No puedo usar Excel porque hay un campo llamado Verbatim donde el contenido podría ser texto libre y contendría CR+LF, etc., lo que destruye el formato al abrir con Excel. Me gustaría saber si podemos escribir/grabar una macro para lograr esto. Lo único que se me ocurre es buscar los identificadores (obtenidos del archivo1) y buscar en la primera columna, ampliar la selección y copiar los datos. No estoy seguro si esto es posible o cómo hacerlo.

En el ejemplo anterior, solo se seleccionarán dos filas debido al Id.ABHA-PHY49M

"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi,
Some mail contents1
Kind Regards,"

"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYCCC";"Hi,
Some mail contents3
Kind Regards,"

Respuesta1

¿Has probado una búsqueda con expresiones regulares? Si definitivamente es la primera columna en la que estás buscando, entonces esto debería funcionar:

^"ABHA-PHY49M".*$
  • El primer carácter ^garantiza que solo buscará al principio de la línea.
  • Los caracteres literales "ABHA-PHY49M"coinciden con la cadena que estás buscando.
  • Los caracteres restantes .*$incluyen el resto de la línea.

Los resultados de búsqueda que obtengo, a partir de sus datos de muestra, se ven bien:

Search "^"ABHA-PHY49M".*$" (2 hits in 1 file)
  new  5 (2 hits)
    Line 1: "ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi, Some mail contents1 Kind Regards,"
    Line 5: "ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYCCC";"Hi, Some mail contents3 Kind Regards,"

Respuesta2

HayComplemento SQLpermite ejecutar comandos de bases de datos SQL en archivos CSV. En tu caso la consulta sería:

 select * from data where id="abha-phy49m"

si la primera columna se llama "id" (los comandos no distinguen entre mayúsculas y minúsculas). Esto recuperará todas las líneas del archivo actual donde la identificación es "abha-phy49m".

EDITAR: Desafortunadamente convierte el texto de salida a minúsculas

información relacionada