chrism73
Goto Top

Sortierung einer Textdatei

Hallo gibt es eine Möglichkeit in einer Textdatei, welche mehrere Datensätze die durch Kommas getrennt sind nach den ersten Nummern zu sortieren?

die Textdatei ist ungefähr so aufgebaut:

00112708P,xxxxxxxx,xxxxxx,1,xxxxxxx,xxxxxxxx.000,888,1,056,01,920,01,919,01,925,01
0914507,xxxxxxxxxx,xxxxxxxx,1,xxxxxxx,00000F27.000,888,1,028,01,199,01
0910808,xxxxxxxxx,xxxxxxxxx,1,xxxxxxxxxx,00000F28.000,888,1,199,01
0232508,xxxxxxxxxx,xxxxxxxxx,1,xxxxxxxxx,00000F29.000,888,1,034,01,420,01
00112708P,xxxxxxxxx,xxxxxxxxxx,1,xxxxxxxxx,00000F2A.000,888,1,056,01,920,01,919,01,925,01
00112708P,xxxxxxxxxxx,xxxxxxxxx,1,xxxxxxx,00000F2B.000,888,1,056,01,920,01,919,01,925,01

die sollten dann nach der ersten Nummer sortiert werden also:

0232508,xxxxxxxxxx,xxxxxxxxx,1,xxxxxxxxx,00000F29.000,888,1,034,01,420,01
0910808,xxxxxxxxx,xxxxxxxxx,1,xxxxxxxxxx,00000F28.000,888,1,199,01
0914507,xxxxxxxxxx,xxxxxxxx,1,xxxxxxx,00000F27.000,888,1,028,01,199,01
00112708P,xxxxxxxx,xxxxxx,1,xxxxxxx,xxxxxxxx.000,888,1,056,01,920,01,919,01,925,01
00112708P,xxxxxxxxx,xxxxxxxxxx,1,xxxxxxxxx,00000F2A.000,888,1,056,01,920,01,919,01,925,01
00112708P,xxxxxxxxxxx,xxxxxxxxx,1,xxxxxxx,00000F2B.000,888,1,056,01,920,01,919,01,925,01

kann mir jemand helfen wie des geht?

Content-ID: 92148

Url: https://administrator.de/forum/sortierung-einer-textdatei-92148.html

Ausgedruckt am: 23.12.2024 um 08:12 Uhr

CeMeNt
CeMeNt 16.07.2008 um 09:49:35 Uhr
Goto Top
Wie wärs, wenn Du die Datei zunächst in Excel einliest, dort sortierst und dann wieder als Text-Datei speicherst?
ChrisM73
ChrisM73 16.07.2008 um 10:05:37 Uhr
Goto Top
nein das ist leider nicht möglich weil das sollte alles automatisch ablaufen, weil es täglich sein muss und ausserhalb meiner Arbeitszeit...
Biber
Biber 16.07.2008 um 11:09:59 Uhr
Goto Top
Moin ChrisM73,

Du solltest CeMeNts Lösung nicht so schnell beiseite wischen.... Excel kann auch automatisiert arbeiten - in oder außerhalb Deiner Arbeitszeit.

Mit CMD-Bordmitteln wirst Du bei dieser Anforderung nicht viel weiterkommen.
Die CMD.exe arbeitet immer zeilenorientiert - eine Sortierung nach den variabel langen Spalten 1, 7 und 5 (oder ähnlich) in einer CSV-Datei brauchen wir deshalb nicht weiterverfolgen.

Aber bevor wir uns VBS zuwenden - was is' sich denn der Sinn vons Ganze?

Ich meine, sortierte Listen als Meterware sind doch eher was fürs menschliche Auge - aber die eigentliche CSV-Datei wird doch bestimmt ohnehin maschinell weiterverarbeitet und lässt sich dann "sortiert" nach -zig kriterien anzeigen.

Wie sieht denn der Prozess aus, den Du versuchst außerhalb Deiner Arbeitszeit abzubilden?

Grüße
Biber
SnowStar
SnowStar 16.07.2008 um 11:12:01 Uhr
Goto Top
Wenn Commandline und Scriptbasiert unbedingt nötig sind, wäre dann die Windows Powershell nicht eine Lösungsmöglichkeit?
Auch PHP kann, was viele nicht wissen, auf der Kommandozeile arbeiten und solche Dienste tun face-smile
bastla
bastla 16.07.2008 um 12:23:47 Uhr
Goto Top
Hallo ChrisM73!

Unabhängig von anderen Überlegungen - was ist die erste "Nummer", und welches Kriterium sollte für die Sortierung gelten?

Ein
sort D:\unsortiert.txt /o D:\sortiert.txt
in Batch oder an der Kommandozeile würde nämlich folgendes Ergebnis bringen:
00112708P,xxxxxxxx,xxxxxx,1,xxxxxxx,xxxxxxxx.000,888,1,056,01,920,01,919,01,925,01
00112708P,xxxxxxxxx,xxxxxxxxxx,1,xxxxxxxxx,00000F2A.000,888,1,056,01,920,01,919,01,925,01
00112708P,xxxxxxxxxxx,xxxxxxxxx,1,xxxxxxx,00000F2B.000,888,1,056,01,920,01,919,01,925,01
0232508,xxxxxxxxxx,xxxxxxxxx,1,xxxxxxxxx,00000F29.000,888,1,034,01,420,01
0910808,xxxxxxxxx,xxxxxxxxx,1,xxxxxxxxxx,00000F28.000,888,1,199,01
0914507,xxxxxxxxxx,xxxxxxxx,1,xxxxxxx,00000F27.000,888,1,028,01,199,01
Grüße
bastla
ChrisM73
ChrisM73 17.07.2008 um 12:02:42 Uhr
Goto Top
super, damit hast du mir schon geholfen, vielen Dank.
SnowStar
SnowStar 17.07.2008 um 12:30:08 Uhr
Goto Top
Klasse, kannte ich auch nicht - und das als Shellfan ... wird direkt mal in die Sammlung aufgenommen ...