Notepad++ 列による検索

Notepad++ 列による検索

別のファイルの ID セットに基づいて、ファイルの最初の列のみを検索したいと思います。結果をコピーして別の出力ファイルに貼り付けます。

例えば ​​、

私の最初のファイルには

ABHA-PHY49M
ABHA-PHY49N
ABHA-PHY49O

2番目のファイルには

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

最初の列の値を持つ最初のファイルから ID に一致するすべての行を取得する必要があります。Verbatim というフィールドがあり、その内容はフリー テキストになる可能性があり、CR+LF などが含まれるため、Excel で開くと書式が崩れてしまうため、Excel は使用できません。これを実現するマクロを作成/記録できるかどうか知りたいです。私が思いつくのは、ID (file1 から取得) を検索し、最初の列を検索して選択範囲を拡張し、データをコピーすることだけです。これが可能かどうか、またその方法がわかりません。

上記の例では、IDにより2行だけが選択されます。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」であるすべての行が取得されます。

編集: 残念ながら出力テキストは小文字に変換されます

関連情報