Kommt auf die Größe der Datei an.
Am einfachsten nimmst die die Programmiersprache deiner Wahl und liest
die Datei zeilenweise ein. Splittest jede Zeile nach dem ersten Komma /
Semikolon und durchsuchtst nur den zweiten Teil. Bei Treffer gibst Du
den ersten Teil zurück.
Das geht z.B. mit wenigen Zeilen in C# (hier ein funktionsfähiges
Beispiel ohne jede Fehlerbehandlung und ohne Prüfung der Parameter
etc.):
1 | static void Main(string[] args)
|
2 | {
|
3 | using (TextReader tr = new StreamReader(@"C:\Tmp\Neues Textdokument.csv"))
|
4 | {
|
5 | string line;
|
6 | while ((line = tr.ReadLine()) != null)
|
7 | {
|
8 | string[] elements = line.Split(new char[] { ';' });
|
9 | if (elements[1].Contains(args[0]))
|
10 | {
|
11 | Console.WriteLine(elements[0]);
|
12 | }
|
13 | }
|
14 | }
|
15 | }
|
Der Suchtext wird im obigen Beispiel einfach als
Kommandozeilen-Parameter übergeben.
Man kann auch unter Windows die bash installieren und dann awk benutzen.
Mache ich manchmal bei großen Dateien.
Anonsten die CSV-Datei in eine Datenbank einlesen oder als Fremdtabelle
einbinden, z.B. mit PostgreSQL FDW. Geht natürlich auch mit Excel...