Ausgabe umkehren

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
aquadraht
Beiträge: 33
Registriert: 10.05.2002 21:39:54

Ausgabe umkehren

Beitrag von aquadraht » 11.07.2007 09:37:12

Hallo,

eigentlich keine große Sache, ich komm nur gerade nicht drauf, wie ich es lösen kann:

Ich habe eine Datei, in die täglich eine Zeile am Ende hinzugefügt wird:

Code: Alles auswählen

06.07.2007: 5840
07.07.2007: 6059
08.07.2007: 5364
09.07.2007: 5462
10.07.2007: 5507
Die Ausgabe der Datei soll umgekehrt stattfinden, also das aktuellste Datum nach oben. Mit sort -r geht das nicht, weil sort dann nur nach den ersten beiden Zeichen sortiert und die Ausgabe so aussieht:

Code: Alles auswählen

31.05.2007: 1876
30.06.2007: 8439
30.05.2007: 2143
29.06.2007: 6291
29.05.2007: 2779
28.06.2007: 6377
Auch eine Definition der Sortierungsschlüssel (sort -k 1.7n -k 1.4n -k 1.1n) bringt mich nicht weiter.


Grüße,

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 11.07.2007 10:04:22

Hallo aquadraht,

mir fällt erstmal nur ein anders Datumsformat ein:

Code: Alles auswählen

awk -F "[.:]" '{print$3"."$2"."$1": "$4}' datei | sort -r
...Du kannst das Dateiformat, danach auch wieder ändern... :wink:

Kannst Du eventuell auch schon bei der Ausgabe das Dateiformat ändern,
es wäre dann einfacher zu sortieren.

Gruß fuzzy

PS: mit perl, python etc. kommt man bestimmt auch zu einem Ergebnis... aber davon verstehe ich nix

goecke
Beiträge: 289
Registriert: 12.01.2007 11:57:27

Beitrag von goecke » 11.07.2007 10:22:57

reicht nich

Code: Alles auswählen

tac datei
(umkehrung von cat)

HTH
Johannes

Benutzeravatar
aquadraht
Beiträge: 33
Registriert: 10.05.2002 21:39:54

Beitrag von aquadraht » 11.07.2007 10:26:06

goecke hat geschrieben:reicht nich

Code: Alles auswählen

tac datei
(umkehrung von cat)
super, genau sowas habe ich gesucht!

Thanks,

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 11.07.2007 12:32:34

hi,

nur der Vollständigkeit halber: es geht auch mit sort, man
muß nur bei jedem Teilschlüssel auch die Länge angeben,
sonst wird jedesmal der Rest der Zeile verwendet. Also:

Code: Alles auswählen

sort -r -k 1.7,1.10 -k 1.4,1.5 -k 1.1,1.2 datei
tac ist für diesen speziellen Fall natürlich das bessere Werkzeug,
weil die Datei schon sortiert ist.
Beware of programmers who carry screwdrivers.

Antworten