fabianret
Goto Top

Powershell sortieren

Guten Tag.
Ich möchte Zahlen (bsp. 9, 3, 1, 7, 4, 8) die in einer txt Datei gespeichert sind richtig sortieren (1, 3, 4, 7, 8, 9) und entweder als txt Datei wieder abspeichern oder einfach sortiert in der Konsole öffnen.
Ich habe mal was geschrieben was eigentlich Die Zahlen richtig sortiert wieder abspeichern sollte.
Habt Ihr Vorschläge bzw Lösungen für das Problem?

Vielen Dank im Voraus!!

So sieht es aus:


  1. Programm sortiert Zahlen & speichert Sie #
  2. Autor: Rettelt #
  3. Zuletzt geändert: 08.01.2014 #
#############################################################


Set-ExecutionPolicy RemoteSigned; #Berechtigung zum Ausführen

$unsortiert = get-content -path "C:\Users\Rettelt\Desktop\testunsortiert.txt" # Pfad zum lesen der Datei
$unsortiert = "C:\Users\Rettelt\Desktop\testunsortiert.txt" sort-object # sortiert die Datei
$unsortiert > "c:\sortiert.txt" # Legt den Pfad wo die Sortierte Datei gespeichert wird

Content-Key: 226090

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

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

Member: colinardo
colinardo Jan 08, 2014 updated at 09:56:37 (UTC)
Goto Top
Hallo Fabianret, Willkommen im Forum!
wenn deine Zahlen so mit Komma getrennt in der Textdatei stehen:
9, 3, 1, 7, 4, 8
kannst du sie so sortiert auf der Konsole ausgeben:
$content = gc "C:\Users\Rettelt\Desktop\testunsortiert.txt"  
$numbers = $content.Split(",").Trim()  
$numbers | Sort
oder so im gleichen Format wieder in eine Datei zurückschreiben:
$content = gc "C:\Users\Rettelt\Desktop\testunsortiert.txt"  
$numbers = $content.Split(",").Trim()  
$newline = ""  
$numbers | Sort | %{$newline += "$_,"}  
$newline.TrimEnd(",") | out-file "C:\Users\Rettelt\Desktop\testsortiert.txt"  
Grüße Uwe
Member: Fabianret
Fabianret Jan 08, 2014 at 11:42:37 (UTC)
Goto Top
Vielen Dank.
Aber bei beiden Möglichkeiten erhalte ich das als Fehlermeldung: Fehler beim Aufrufen der Methode, da [System.String[]] keine Methode mit dem Namen "Trim" enthält.
Member: colinardo
colinardo Jan 08, 2014 updated at 11:48:59 (UTC)
Goto Top
Dann hast du noch Powershell 2.0.
Zeile 2 der Scripts musst du bei PS2.0 so schreiben:
$numbers = $content.Split(",") | %{$_.Trim()}