Powershell select-object aus einem Block einen Teil in eine Variable schreiben
Hallo Zusammen,
ich komme einfach nicht drauf.
Ich habe eine riesige Datei > 500k Einträge die in Blöcken aufgebaut ist.
Hier muss ich nun einen Block finden und in dem Block wieder ein gewisse Zeile und dort hinter einem Zeichen die Zahl in eine Variable schreiben.
die Datei ist so aufgebaut. Hier sind 2 Blöcke Grossbritanien und Frankreich, davon habe ich noch ein paar tausend im gleichen Aufbau.
Grossbritanien:
Hauptstadt = London
Landeskürzel = GB
Währung = Pfund
Sehenswürdigkeiten = 31495
Frankreich:
Hauptstadt = Paris
Landeskürzel = F
Währung = Euro
Sehenswürdigkeiten = 22716
Nun benötige ich die Zahl hinter der Sehenswürdigkeit von Frankreich in einer Variable.
Was ich habe ist:
$OUTPUT = $test = Select-String -path .\EINGABEDATEI.TXT -pattern "Frankreich" -Context 0,5
aber hier erhalte ich nur die 5 Zeilen des Blocks Frankreichs, wie bekomme ich nun die Zahl 22716 in den $OUTPUT ?
Mit Reg Exp geht es irgendwie, ich denke da an sowas Frankreich*Sehenswürdigkeiten = .
tausend Dank
ich komme einfach nicht drauf.
Ich habe eine riesige Datei > 500k Einträge die in Blöcken aufgebaut ist.
Hier muss ich nun einen Block finden und in dem Block wieder ein gewisse Zeile und dort hinter einem Zeichen die Zahl in eine Variable schreiben.
die Datei ist so aufgebaut. Hier sind 2 Blöcke Grossbritanien und Frankreich, davon habe ich noch ein paar tausend im gleichen Aufbau.
Grossbritanien:
Hauptstadt = London
Landeskürzel = GB
Währung = Pfund
Sehenswürdigkeiten = 31495
Frankreich:
Hauptstadt = Paris
Landeskürzel = F
Währung = Euro
Sehenswürdigkeiten = 22716
Nun benötige ich die Zahl hinter der Sehenswürdigkeit von Frankreich in einer Variable.
Was ich habe ist:
$OUTPUT = $test = Select-String -path .\EINGABEDATEI.TXT -pattern "Frankreich" -Context 0,5
aber hier erhalte ich nur die 5 Zeilen des Blocks Frankreichs, wie bekomme ich nun die Zahl 22716 in den $OUTPUT ?
Mit Reg Exp geht es irgendwie, ich denke da an sowas Frankreich*Sehenswürdigkeiten = .
tausend Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-Key: 394875
Url: https://administrator.de/contentid/394875
Ausgedruckt am: 28.03.2024 um 17:03 Uhr
2 Kommentare
Neuester Kommentar
[regex]::match((gc .\Eingabedatei.txt -raw),'(?ism)^Frankreich:.*?^Sehenswürdigkeiten\s*=\s*(\d+)').Groups[1].Value