grisu84
Goto Top

Umformen einer txt mit Powershell

Hallo,
ich habe ein PowerShell-Skript mit dem ich eine *.txt umforme.
Das funktioniert inzwischen soweit auch ganz gut.
jetzt möchte ich zwei Sachen noch ändern, komme hier aber nicht weiter.

mit diesem Code werden in einem bestimmten Bereich alle Zeilen gelöscht die nicht "ABC" enthalten.
?{$_ -match 'ABC'}  
Ich würde dies gerne um ein Kriterium erweitern, nämlich dass auch die Zeilen, welche "XYZ" enthalten, erhalten bleiben

Mein zweites Problem ist, dass ich für einen bestimmten Abschnitt der *.txt an jedes Zeilenende "123" anhängen will.

Kann mir hier jemand helfen?

Viele Grüße

Content-Key: 665410

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

Printed on: April 19, 2024 at 23:04 o'clock

Mitglied: 143611
Solution 143611 Apr 06, 2021 at 06:10:45 (UTC)
Goto Top
Moin,

Deine Suche/match nach "XYZ" könntest Du mit einem -or in derselben Zeile verknüpfen:

?{($_ -match 'ABC') -or ($_ -match 'XYZ')}  

VG
schleeke
Member: Grisu84
Grisu84 Apr 06, 2021 at 06:30:23 (UTC)
Goto Top
Hallo schleeke,
das hilft mir schon extrem weiter. Vielen Dank.
Jetzt muss ich nur das andere noch hinbekommen
Mitglied: 148121
148121 Apr 06, 2021 updated at 09:02:25 (UTC)
Goto Top
Zitat von @143611:

Moin,

Deine Suche/match nach "XYZ" könntest Du mit einem -or in derselben Zeile verknüpfen:
Oder da hier sowieso direkt mit Regex gearbeitet wird geht's kürzer so
?{$_ -match 'ABC|XYZ'}  

Zum Anhängen von Strings kann man auch einfach ne Regex Replace nehmen
Bsp. für Zeilen die mit ABC beginnen ein 123 anhängen
$text = [Regex]::Replace($text,'(?im)^(ABC.*)','$1123')  
Mitglied: 143611
143611 Apr 06, 2021 at 09:16:07 (UTC)
Goto Top
Oder da hier sowieso direkt mit Regex gearbeitet wird geht's kürzer so
>?{$_ -match 'ABC|XYZ'}  
>

...ach ja, da war ja was - nice! Vergess' den ganzen RegEx-Kram regelmäßig, obwohl man best. 80% der string-Manipulationen damit abfrühstücken könnte...