stefan007
Goto Top

Powershell - Zeilen aus bestimmten Textdateien löschen

Hi,

ich habe ca. 20 Textdateien und möchte, dass PowerShell mir Strings die doppelt sind löscht (also dann die gesamte Zeile aus der .txt, nicht nur das Wort). Ist sowas grundsätzlich möglich?


Gruß,
Stefan

Content-Key: 400429

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

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

Mitglied: 138721
138721 Feb 04, 2019 updated at 18:58:00 (UTC)
Goto Top
Ja, Stichwort Compare-Object oder select -unique oder sort -unique

Gruß l.
Member: erikro
erikro Feb 05, 2019 at 08:09:54 (UTC)
Goto Top
Moin,

Zitat von @Stefan007:

Hi,

ich habe ca. 20 Textdateien und möchte, dass PowerShell mir Strings die doppelt sind löscht (also dann die gesamte Zeile aus der .txt, nicht nur das Wort). Ist sowas grundsätzlich möglich?

Ja klar. Allerdings ist mir nicht ganz klar, was Du möchtest. Möchtest Du Strings löschen, die in einer Datei doppelt vorkommen? Also das Ergebnis wären 20 Dateien mit nur eindeutigen Zeilen. Oder willst Du die 20 zu einer machen, in der keine Dubletten vorkommen?

Liebe Grüße

Erik
Member: Stefan007
Stefan007 Feb 05, 2019 at 10:52:11 (UTC)
Goto Top
Hi,

nein, die Zeile wo der String ist, soll entfernt werden, komplett.
Mitglied: 138721
Solution 138721 Feb 05, 2019 at 11:07:12 (UTC)
Goto Top
gc '.\datei.txt' | select -Unique  
Member: Stefan007
Stefan007 Feb 05, 2019 at 16:53:50 (UTC)
Goto Top
Zitat von @138721:

> gc '.\datei.txt' | select -Unique  
> 


löscht er die dadurch auch automatisch?
Mitglied: 138721
138721 Feb 05, 2019 updated at 16:57:13 (UTC)
Goto Top
Zitat von @Stefan007:
löscht er die dadurch auch automatisch?
Das gibt dir das Ergbnis erst mal nur auf der Konsole aus, sieht man doch, willst du es gleich in eine neue Textdatei schalte ein set-content oder out-file in die Pipe.

Für ein Inplace Replace
(gc '.\datei.txt') | select -Unique | sc '.\datei.txt'  
Member: Stefan007
Stefan007 Feb 13, 2019 at 21:51:01 (UTC)
Goto Top
Kann mir vielleicht noch jemand helfen? Irgendwie klappt es nicht.

PowerShell soll eine .txt File nach einem bestimmten String scannen und diesen löschen, sobald er gefunden wurde. Dies soll für das gesamte Dokument gelten.