Notepad++ Suche nach Spalten

Notepad++ Suche nach Spalten

Ich möchte eine Datei nur anhand der ersten Spalte anhand einer Reihe von IDs aus einer anderen Datei durchsuchen. Kopieren Sie die Ergebnisse und fügen Sie sie in eine andere Ausgabedatei ein.

Zum Beispiel ,

Meine erste Datei enthält

ABHA-PHY49M
ABHA-PHY49N
ABHA-PHY49O

Meine zweite Datei enthält

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

Ich muss alle Zeilen abrufen, die mit den IDs aus der ersten Datei mit dem ersten Spaltenwert übereinstimmen. Ich kann Excel nicht verwenden, da es ein Feld namens „Verbatim“ gibt, dessen Inhalt freier Text sein könnte und CR+LF usw. enthalten würde, was die Formatierung beim Öffnen mit Excel zerstört. Ich würde gerne wissen, ob wir ein Makro schreiben/aufzeichnen können, um dies zu erreichen. Mir fällt nur ein, die IDs (aus Datei1 erhalten) zu suchen und in der ersten Spalte zu suchen, die Auswahl zu erweitern und die Daten zu kopieren. Ich bin mir nicht sicher, ob dies möglich ist oder wie es geht.

Im obigen Beispiel werden nur zwei Zeilen aufgrund der ID ausgewählt.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,"

Antwort1

Haben Sie es schon mit einer Suche mit regulären Ausdrücken versucht? Wenn Sie eindeutig in der ersten Spalte suchen, sollte dies funktionieren:

^"ABHA-PHY49M".*$
  • Das erste Zeichen ^stellt sicher, dass nur am Zeilenanfang gesucht wird.
  • Die Literalzeichen "ABHA-PHY49M"entsprechen der gesuchten Zeichenfolge.
  • Die restlichen Zeichen .*$umfassen den kompletten Zeilenrest.

Die Suchergebnisse, die ich aus Ihren Beispieldaten erhalte, sehen richtig aus:

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

Antwort2

Es gibtSQL-Pluginermöglicht die Ausführung von SQL-Datenbankbefehlen in CSV-Dateien. In Ihrem Fall wäre die Abfrage:

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

wenn die erste Spalte „id“ heißt (bei Befehlen wird die Groß-/Kleinschreibung nicht beachtet). Dadurch werden alle Zeilen aus der aktuellen Datei abgerufen, deren ID „abha-phy49m“ lautet.

EDIT: Leider wird der Ausgabetext in Kleinbuchstaben umgewandelt

verwandte Informationen