Notepad++ 按列搜索

Notepad++ 按列搜索

我想根据另一个文件中的一组 ID 仅在第一列上搜索文件。将结果复制并粘贴到另一个输出文件中。

例如 ,

我的第一个文件包含

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 打开时破坏格式。我想知道我们是否可以编写/录制宏来实现这一点。我能想到的就是搜索 id(从文件 1 获得)并在第一列中搜索,扩展选择并复制数据。不确定这是否可行或如何做到。

在上面的例子中,由于 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,"

答案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 插件允许在 CSV 文件中执行 SQL 数据库命令。对于您的情况,查询将是:

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

如果第一列名为“id”(命令不区分大小写)。这将从当前文件中检索 id 为“abha-phy49m”的所有行

编辑:不幸的是,它将输出文本转换为小写

相关内容