| 

.NET C# Java Javascript Exception

0
Problem: Eine externe Schnittstelle schreibt zeilenweise Daten in eine ASCII-Datei. Die einzelnen Felder sind durch Semikolon getrennt. Eines der Felder enthält einen Betrag. Nun sollen die Zeilen dieser Datei vor der Weiterverarbeitung nach genau diesem Betragsfeld aufsteigend sortiert werden. Das ganze aber automatisiert, ohne manuellen Eingriff (also Einlesen nach Excel und dortige Verarbeitung fällt aus). Der Batch soll idealerweise zudem unter UNIX laufen...
News:
04.02.2011
develop2011 1 1
3 Antworten
1
Zeilen in eine temporäre Tabelle in SQLite (http://www.sqlite.org, u.a. für Windows und für Unix) einlesen, damit alles notwendige anstellen und dann wieder exportieren. Hervorragend erprobt auf Windows-Systemen - und es müsste auch mit anderen Betriebssystemen funktionieren (SQLite läuft fast überall)
04.02.2011
tbone 11 1
1
Das geht mit sort:

cat data.csv
abcde;100;fgh
abcdefhk;9;ijklm
opq;10;fgh
rstuv;0;xyz

sort --numeric-sort --key=2 --field-separator=';' data.csv
rstuv;0;xyz
abcdefhk;9;ijklm
opq;10;fgh
abcde;100;fgh
04.02.2011
Ekkehard.Horner 147 1
Super! Diese Antwort brachte mich auf den richtigen Weg. Wenn auch die Argumente unter unserem HP-UX etwas anders aussehen, für das obige Beispiel:
sort -n -k 2,2 -t ';' data.csv
DANKE!
develop2011 10.02.2011
Könntest du bitte seine Antwort auch akzeptieren? Danke.
Konstantin 10.02.2011
0
Geht das nicht mit grep und sort. Keine Ahnung, wie die Befehle unter Unix lauten. Aber zuerst mit grep den Betrag rausholen und dann nach sort pipen und damit sortieren.
04.02.2011
tack 294 1 8

Stelle deine Batch-Frage jetzt!