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-Key: 92148

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

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

Member: CeMeNt
CeMeNt Jul 16, 2008 at 07:49:35 (UTC)
Goto Top
Wie wärs, wenn Du die Datei zunächst in Excel einliest, dort sortierst und dann wieder als Text-Datei speicherst?
Member: ChrisM73
ChrisM73 Jul 16, 2008 at 08:05:37 (UTC)
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...
Member: Biber
Biber Jul 16, 2008 at 09:09:59 (UTC)
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
Member: SnowStar
SnowStar Jul 16, 2008 at 09:12:01 (UTC)
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
Member: bastla
bastla Jul 16, 2008 at 10:23:47 (UTC)
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
Member: ChrisM73
ChrisM73 Jul 17, 2008 at 10:02:42 (UTC)
Goto Top
super, damit hast du mir schon geholfen, vielen Dank.
Member: SnowStar
SnowStar Jul 17, 2008 at 10:30:08 (UTC)
Goto Top
Klasse, kannte ich auch nicht - und das als Shellfan ... wird direkt mal in die Sammlung aufgenommen ...