korrekterweise
Goto Top

PowerShell soll Zeilen sortieren außer die erste

Hallo,

ich habe leider nicht viel Ahnung. Ich möchte in einer Textdatei in PowerShell doppelte Zeilen löschen und neu sortieren, aber die erste Zeile beibehalten, weil das meine Tabellenüberschriften eines Datensatzes sind.

Mit

get-content C:\pfad\datei1.txt | sort -unique | out-file C:\pfad\datei2.txt

werden Duplikate entfernt und neu sortiert, aber die Werte der erste Zeile werden ebenfalls mit sortiert und stehen dann nicht mehr in der ersten Zeile.

Vielen Dank

Content-Key: 360154

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

Printed on: April 25, 2024 at 22:04 o'clock

Mitglied: 135111
Solution 135111 Jan 06, 2018 updated at 14:35:00 (UTC)
Goto Top
$txt = get-content C:\pfad\datei1.txt 
@($txt, ($txt | select -skip 1 | sort -unique)) | out-file C:\pfad\datei2.txt
Gruß @135111
Member: Korrekterweise
Korrekterweise Jan 06, 2018 at 14:37:28 (UTC)
Goto Top
Auhja, Klasse. Klappt, vielen Dank face-smile
Member: Korrekterweise
Korrekterweise Jan 06, 2018 at 15:47:15 (UTC)
Goto Top
Hallo nochmal. Ist es eigentlich möglich, dass man dies auch mit allen Daten in einem Ordner ohne Angabe der einzelnen Dateien durchführen kann?
Der Einlesepfad ist mit C:\pfad\* ja kein Problem, aber der out-file-Befehl weiß dann natürlich nicht, was in welche Datei soll.
Mitglied: 135111
Solution 135111 Jan 06, 2018 updated at 17:08:44 (UTC)
Goto Top
Aber sicher, eine foreach Schleife löst dein Problem.
dir 'c:\ordner\*.txt' | %{  
    $txt = get-content $_.Fullname
    @($txt, ($txt | select -skip 1 | sort -unique)) | out-file $_.Fullname
}
Member: Korrekterweise
Korrekterweise Jan 06, 2018 at 18:29:53 (UTC)
Goto Top
Oh Jippi, das erleichtert mir richtig viel Fusselei. Vielen Dank!