Поиск по столбцам в Notepad++

Поиск по столбцам в Notepad++

Я хотел бы искать файл только по первому столбцу на основе набора идентификаторов из другого файла. Скопируйте и вставьте результаты в другой выходной файл.

Например ,

Мой первый файл содержит

ABHA-PHY49M
ABHA-PHY49N
ABHA-PHY49O

Мой второй файл содержит

"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,"

Мне нужно извлечь все строки, соответствующие идентификаторам из первого файла со значением первого столбца. Я не могу использовать Excel, потому что есть поле Verbatim, содержимое которого может быть свободным текстом и содержать CR+LF и т. д., что разрушает форматирование при открытии в Excel. Я хотел бы знать, можно ли написать/записать макрос для достижения этого. Все, что я могу придумать, это поиск идентификаторов (полученных из file1) и поиск в первом столбце, расширение выделения и копирование данных. Не уверен, возможно ли это или как это сделать.

В приведенном выше примере будут выбраны только две строки из-за идентификатора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,"

решение1

Вы пробовали поиск по регулярному выражению? Если это определенно первый столбец, в котором вы ищете, то это должно сработать:

^"ABHA-PHY49M".*$
  • Первый символ ^гарантирует, что поиск будет производиться только в начале строки.
  • Буквальные символы "ABHA-PHY49M"соответствуют строке, которую вы ищете.
  • Остальные символы .*$включают в себя всю остальную часть строки.

Результаты поиска, которые я получаю на основе вашего образца данных, выглядят правильно:

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,"

решение2

ЕстьПлагин SQLпозволяет выполнять команды базы данных SQL в файлах CSV. В вашем случае запрос будет:

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

если первый столбец называется "id" (команды нечувствительны к регистру). Это извлечет все строки из текущего файла, где id - "abha-phy49m"

EDIT: К сожалению, он преобразует выходной текст в нижний регистр

Связанный контент