Powershell - In Textdatei suchen und ersetzen
Hallo Zusammen,
ich habe einen Textdatei mit vielen aufeinander folgendenden Leerzeichen und wo an diversen Stellen Überschriften stehen.
Ungefähr so:
Ich möchte gerne alle beginnenden Leerzeichen entfernen und alle Überschriften (Thema..).
Alles was ich bisher versucht habe, hat leider nicht das gewünschte Ergebnis gebracht.
Dachte etwas in diese Richtung:
1. Zeilen der Textdatei zählen
2. Per For-Schleife in Arrays packen
3. Mit TrimStart() Leerzeichen entfernen?
4. Mit Where-Object irgendwie mit - like "Thema*" die Array Variable löschen?
5. Alle Arrays in die vorhandenen Textdatei schreiben
Evtl. geht's auch einfacher und übersichtlicher?
Würde mich über jede Hilfe freuen.
Vielen Dank.
ich habe einen Textdatei mit vielen aufeinander folgendenden Leerzeichen und wo an diversen Stellen Überschriften stehen.
Ungefähr so:
Thema1 - Hamburg
Sehenswürdigkeiten..
Lokale..
Parkplätze..
Thema2 - Köln
Sehenswürdigkeiten..
Lokle..
Parkplätze..
Ich möchte gerne alle beginnenden Leerzeichen entfernen und alle Überschriften (Thema..).
Alles was ich bisher versucht habe, hat leider nicht das gewünschte Ergebnis gebracht.
Dachte etwas in diese Richtung:
1. Zeilen der Textdatei zählen
2. Per For-Schleife in Arrays packen
3. Mit TrimStart() Leerzeichen entfernen?
4. Mit Where-Object irgendwie mit - like "Thema*" die Array Variable löschen?
5. Alle Arrays in die vorhandenen Textdatei schreiben
Evtl. geht's auch einfacher und übersichtlicher?
Würde mich über jede Hilfe freuen.
Vielen Dank.
Please also mark the comments that contributed to the solution of the article
Content-Key: 322830
Url: https://administrator.de/contentid/322830
Printed on: April 26, 2024 at 18:04 o'clock
5 Comments
Latest comment
Evtl. geht's auch einfacher und übersichtlicher?
Mit ein bisschen Regex keine große Sache (gc 'c:\datei.txt' | ?{$_ -notmatch '^\s*$|^\s*Thema.*'}) -replace '^\s+','' | set-content 'c:\datei.txt'
Gruß
Zitat von @Raaja89:
Gibt es auch die Möglichkeit weitere Zeilen mit anderen Begriffen verschwinden zu lassen?
Klar, einfach den Regex anpassen das (|) trennt die einzelnen Patterns (OR-Verknüpfung) voneinander.Gibt es auch die Möglichkeit weitere Zeilen mit anderen Begriffen verschwinden zu lassen?
(gc 'c:\datei.txt' | ?{$_ -notmatch '^\s*$|Thema|Dritte Überschrift'}) -replace '^\s+','' | set-content 'c:\datei.txt'