noname69
Goto Top

Powershell matching string

Moin Entwickler,

bin derzeit dabei, zwei txt Dateien zu analysieren. Die eine ist (namentlich) zeitlich gesehen der Vorgänger und die andere der Nachfolger.
Möchte von der Vorgänger-Datei den ersten, von unten durchlaufenen "gematchten" string als gesamte Zeile in die Nachfolger-Datei als erste Zeile einfügen.
Ich will diese abfrage in meinen bereits erstellten regex einbinden.

Läuft das über Select-String | Select-Object -first ab? Wenn ja(nein), wie (sonst)? Danke im Voraus!

Content-Key: 394545

Url: https://administrator.de/contentid/394545

Printed on: April 26, 2024 at 15:04 o'clock

Mitglied: 137846
137846 Dec 03, 2018, updated at Dec 05, 2018 at 08:58:42 (UTC)
Goto Top
Moin KeinName
Ich will diese abfrage in meinen bereits erstellten regex einbinden.
Aha, schön, kennt keiner...
Möchte von der Vorgänger-Datei den ersten, von unten durchlaufenen "gematchten" string als gesamte Zeile
Läuft das über Select-String | Select-Object -first ab? Wenn ja(nein), wie (sonst)?
1001 Möglichkeiten ...
$lastmatch = select-string "D:\Vorgänger.txt" -Pattern 'DEINPATTERN' -Encoding UTF8 | select -Last 1 | select -Expand Line  
@($lastmatch,(gc "D:\nachfolger.txt")) | sc "D:\nachfolger.txt"  

Gruß A.
Member: noname69
noname69 Dec 04, 2018 at 14:30:38 (UTC)
Goto Top
Danke für die rasche Antwort! Der Quelltext funktioniert aber nicht..
Anbei ein Beispielfoto, welches -Pattern gesucht werden soll.

Grüße NoName
unbenannt
Mitglied: 137846
137846 Dec 04, 2018 updated at 15:11:24 (UTC)
Goto Top
Zitat von @noname69:

Danke für die rasche Antwort! Der Quelltext funktioniert aber nicht..
Der funktioniert einwandfrei nur weiß ja keiner was du suchst und das ist ja im Skript ersichtlich was du anpassen musst !
Anbei ein Beispielfoto, welches -Pattern gesucht werden soll.
Wir kennen dein Muster und was von dem Text sich ändert nicht.

Einzeiler-Schilderungen bringen hier keinen weiter. Versuch es nochmal ausführlich, du willst Hilfe nicht wir.
Member: noname69
noname69 Dec 04, 2018 at 15:18:31 (UTC)
Goto Top
Ok Danke, sollte jetzt passen. Ich suche die Zeile "Suche Sequenz für TransaktionsID 0123456".
unbenannt2
Mitglied: 137846
137846 Dec 04, 2018 updated at 15:31:04 (UTC)
Goto Top
Zitat von @noname69:

Ok Danke, sollte jetzt passen. Ich suche die Zeile "Suche Sequenz für TransaktionsID 0123456".
Na dann lautet dein Pattern
-Pattern 'Suche Sequenz für TransaktionsID \d+'  
wenn 0123456 variabel sein soll.
Wo hier jetzt das Problem sein soll verstehe ich nicht ....zumal du ja laut deiner Aussage anscheinend schon eigene Regex gebaut hast, sollte ja das Wissen dazu da sein.
Member: noname69
noname69 Dec 05, 2018 at 08:36:56 (UTC)
Goto Top
Mir hat die zweite Zeile deines Codes gefehlt.
Es liegt immer noch kein Output dar. Der Code funktioniert bei mir nicht...
Mitglied: 137846
Solution 137846 Dec 05, 2018 updated at 11:49:16 (UTC)
Goto Top
Zitat von @noname69:

Mir hat die zweite Zeile deines Codes gefehlt.
Witzbold. Das das oben in den Code einzusetzen ist sollte man doch interpretieren können ...
Es liegt immer noch kein Output dar. Der Code funktioniert bei mir nicht...
Doch. Geht hier, kann ich dir gerne beweisen! Ohne Fehlermeldung keine Hilfe.

VORHER:

screenshot

SKRIPT

screenshot

NACH DEM SKRIPT

screenshot

Vermutlich hast du bei Select-String einfach nicht das Encoding korrekt angegeben, so dass er die Umlaute nicht findet!

So, ich habe fertig. Tschö.