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...
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)
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!
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.
sort -n -k 2,2 -t ';' data.csv
DANKE!