Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Colttt
- Beiträge: 3012
- Registriert: 16.10.2008 23:25:34
- Wohnort: Brandenburg
-
Kontaktdaten:
Beitrag
von Colttt » 05.07.2013 12:54:16
Hallo,
ich hab ein kleines Problem:
hier wird alles korrekt in der richtigen Reihenfolge angezeigt..
Code: Alles auswählen
find /var/cache/zoneminder/events/Chef-1/ -type d -newer /tmp/fru1 ! -newer /tmp/spa1 -printf "%p %s %AY-%Am-%Ad %TT \n" |grep /[0-9]| sort -k4
/var/cache/zoneminder/events/Chef-1/506608 4096 2013-07-05 06:58:16.1185456960
/var/cache/zoneminder/events/Chef-1/506612 12288 2013-07-05 06:58:46.3504426560
/var/cache/zoneminder/events/Chef-1/506613 4096 2013-07-05 06:59:00.8783931550
/var/cache/zoneminder/events/Chef-1/506446 4096 2013-07-05 16:37:08.8563336870
/var/cache/zoneminder/events/Chef-1/506458 4096 2013-07-05 16:39:18.8879150580
/var/cache/zoneminder/events/Chef-1/506460 4096 2013-07-05 16:39:24.5598968000
/var/cache/zoneminder/events/Chef-1/506470 4096 2013-07-05 16:42:11.2953601760
/var/cache/zoneminder/events/Chef-1/506471 4096 2013-07-05 16:42:14.9473484250
/var/cache/zoneminder/events/Chef-1/506475 4096 2013-07-05 16:42:57.1632125860
/var/cache/zoneminder/events/Chef-1/506477 4096 2013-07-05 16:44:16.0509587760
/var/cache/zoneminder/events/Chef-1/506513 4096 2013-07-05 20:21:35.9828987640
/var/cache/zoneminder/events/Chef-1/506514 4096 2013-07-05 20:24:25.2223375660
/var/cache/zoneminder/events/Chef-1/506523 4096 2013-07-05 22:20:39.1463219420
wenn ich das ganze mit unixtimestamp mache leider nicht
Code: Alles auswählen
find /var/cache/zoneminder/events/Chef-1/ -type d -newer /tmp/fru1 ! -newer /tmp/spa1 -printf "%C@ %p \n" |grep /[0-9]| sort -k1
1372343828.8563336870 /var/cache/zoneminder/events/Chef-1/506446
1372343958.8879150580 /var/cache/zoneminder/events/Chef-1/506458
1372343964.5598968000 /var/cache/zoneminder/events/Chef-1/506460
1372344131.2953601760 /var/cache/zoneminder/events/Chef-1/506470
1372344134.9473484250 /var/cache/zoneminder/events/Chef-1/506471
1372344177.1632125860 /var/cache/zoneminder/events/Chef-1/506475
1372344256.0509587760 /var/cache/zoneminder/events/Chef-1/506477
1372357295.9828987640 /var/cache/zoneminder/events/Chef-1/506513
1372357465.2223375660 /var/cache/zoneminder/events/Chef-1/506514
1372364439.1463219420 /var/cache/zoneminder/events/Chef-1/506523
1372395496.1185456960 /var/cache/zoneminder/events/Chef-1/506608
1372395526.3504426560 /var/cache/zoneminder/events/Chef-1/506612
1372395540.8783931550 /var/cache/zoneminder/events/Chef-1/506613
anhand der ordnernamen kann man gut sehen das da irgendwie etwas nicht stimmt..
auch wenn ich %A@ bei printf nutze, ist die sortierung zwar anders aber immer noch nicht korrekt.. evtl jmd eine idee?
Debian-Nutzer
ZABBIX Certified Specialist
-
uname
- Beiträge: 12405
- Registriert: 03.06.2008 09:33:02
Beitrag
von uname » 05.07.2013 13:04:24
Ich betrachte mal nur zwei Zeilen:
Code: Alles auswählen
/var/cache/zoneminder/events/Chef-1/506608 4096 2013-07-05 06:58:16.1185456960
/var/cache/zoneminder/events/Chef-1/506446 4096 2013-07-05 16:37:08.8563336870
Code: Alles auswählen
1372343828.8563336870 /var/cache/zoneminder/events/Chef-1/506446
1372395496.1185456960 /var/cache/zoneminder/events/Chef-1/506608
Ich würde mal sagen die Sortierung (sort) ist jeweils korrekt und aufsteigend. Bei dem Datumsformat wäre ich mir aber nicht sicher. Versuche mal das Datum wieder zurückzurechnen oder vielleicht nutzt du ja auch verschiedene Zeitstempel (Befehl stat). Ich kenne die ganzen Parameter nicht, die du nutzt.
-
Colttt
- Beiträge: 3012
- Registriert: 16.10.2008 23:25:34
- Wohnort: Brandenburg
-
Kontaktdaten:
Beitrag
von Colttt » 05.07.2013 13:24:24
Hallo uname, die parameter stehen doch alle da?! in der ersten zeile, oder was meinst du?
hier mal die stat ausgaben von den beiden:
Code: Alles auswählen
stat /var/cache/zoneminder/events/Chef-1/506608
Datei: »/var/cache/zoneminder/events/Chef-1/506608â
GröÃe: 4096 Blöcke: 8 EA Block: 4096 Verzeichnis
Gerät: fc00h/64512d Inode: 2269340 Verknüpfungen: 2
Zugriff: (0755/drwxr-xr-x) Uid: ( 33/www-data) Gid: ( 33/www-data)
Zugriff : 2013-07-05 10:04:10.505757049 +0200
Modifiziert: 2013-06-28 06:58:16.118545696 +0200
Geändert : 2013-06-28 06:58:16.118545696 +0200
Geburt : -
stat /var/cache/zoneminder/events/Chef-1/506446
Datei: »/var/cache/zoneminder/events/Chef-1/506446â
GröÃe: 4096 Blöcke: 8 EA Block: 4096 Verzeichnis
Gerät: fc00h/64512d Inode: 2719778 Verknüpfungen: 2
Zugriff: (0755/drwxr-xr-x) Uid: ( 33/www-data) Gid: ( 33/www-data)
Zugriff : 2013-07-05 10:04:10.625756633 +0200
Modifiziert: 2013-06-27 16:37:08.856333687 +0200
Geändert : 2013-06-27 16:37:08.856333687 +0200
Geburt : -
Debian-Nutzer
ZABBIX Certified Specialist
-
cosmac
- Beiträge: 4576
- Registriert: 28.03.2005 22:24:30
Beitrag
von cosmac » 05.07.2013 13:46:14
hi,
mir scheint, du benutzt mtime, ctime und atime ein wenig wahllos. Im ersten Beispiel -printf "%p %s %AY-%Am-%Ad %TT \n" wird das Datum des letzten Zugriffs (atime) mit der Zeit der letzten Änderung (mtime) kombiniert. Das ist wohl nicht so gemeint. Im zweiten Beispiel benutzt du mit %C die ctime, damit ist das Ergebnis natürlich anders als im ersten Fall -- die Sortierung oder Formatierung ist dabei nicht das Problem.
In der Regel möchte man die mtime verwenden, das ist die Zeit, die "ls" ohne Optionen anzeigt.
Beware of programmers who carry screwdrivers.
-
Colttt
- Beiträge: 3012
- Registriert: 16.10.2008 23:25:34
- Wohnort: Brandenburg
-
Kontaktdaten:
Beitrag
von Colttt » 05.07.2013 14:56:40
das müsste dann T sein, richtig?? aber das geht auch nicht
Code: Alles auswählen
find /var/cache/zoneminder/events/Chef-1/ -type d -newer /tmp/fru1 ! -newer /tmp/spa1 -printf "%T@ %p \n" |grep /[0-9]| sort -k1
1372343828.8563336870 /var/cache/zoneminder/events/Chef-1/506446
1372343958.8879150580 /var/cache/zoneminder/events/Chef-1/506458
1372343964.5598968000 /var/cache/zoneminder/events/Chef-1/506460
1372344131.2953601760 /var/cache/zoneminder/events/Chef-1/506470
1372344134.9473484250 /var/cache/zoneminder/events/Chef-1/506471
1372344177.1632125860 /var/cache/zoneminder/events/Chef-1/506475
1372344256.0509587760 /var/cache/zoneminder/events/Chef-1/506477
1372357295.9828987640 /var/cache/zoneminder/events/Chef-1/506513
1372357465.2223375660 /var/cache/zoneminder/events/Chef-1/506514
1372364439.1463219420 /var/cache/zoneminder/events/Chef-1/506523
1372395496.1185456960 /var/cache/zoneminder/events/Chef-1/506608
1372395526.3504426560 /var/cache/zoneminder/events/Chef-1/506612
1372395540.8783931550 /var/cache/zoneminder/events/Chef-1/506613
Debian-Nutzer
ZABBIX Certified Specialist
-
cosmac
- Beiträge: 4576
- Registriert: 28.03.2005 22:24:30
Beitrag
von cosmac » 05.07.2013 16:06:42
wenn das letzte Beispiel wirklich falsch sein sollte, wird ein einfaches sort wohl nicht reichen. Die sind doch jetzt nach Unix-Zeit, nach Datum und nach Verzeichnisname aufsteigend sortiert. Wie sollten sie denn sortiert sein?
Ich hab' mal mit
date -d@$1 '+f%F %T' ein menschenlesbares Datum angehängt. Man achte auf den Tag in den letzten 3 Zeilen:
Code: Alles auswählen
1372343828.8563336870 /var/cache/zoneminder/events/Chef-1/506446 2013-06-27 16:37:08
1372343958.8879150580 /var/cache/zoneminder/events/Chef-1/506458 2013-06-27 16:39:18
1372343964.5598968000 /var/cache/zoneminder/events/Chef-1/506460 2013-06-27 16:39:24
1372344131.2953601760 /var/cache/zoneminder/events/Chef-1/506470 2013-06-27 16:42:11
1372344134.9473484250 /var/cache/zoneminder/events/Chef-1/506471 2013-06-27 16:42:14
1372344177.1632125860 /var/cache/zoneminder/events/Chef-1/506475 2013-06-27 16:42:57
1372344256.0509587760 /var/cache/zoneminder/events/Chef-1/506477 2013-06-27 16:44:16
1372357295.9828987640 /var/cache/zoneminder/events/Chef-1/506513 2013-06-27 20:21:35
1372357465.2223375660 /var/cache/zoneminder/events/Chef-1/506514 2013-06-27 20:24:25
1372364439.1463219420 /var/cache/zoneminder/events/Chef-1/506523 2013-06-27 22:20:39
1372395496.1185456960 /var/cache/zoneminder/events/Chef-1/506608 2013-06-28 06:58:16
1372395526.3504426560 /var/cache/zoneminder/events/Chef-1/506612 2013-06-28 06:58:46
1372395540.8783931550 /var/cache/zoneminder/events/Chef-1/506613 2013-06-28 06:59:00
Beware of programmers who carry screwdrivers.
-
Colttt
- Beiträge: 3012
- Registriert: 16.10.2008 23:25:34
- Wohnort: Brandenburg
-
Kontaktdaten:
Beitrag
von Colttt » 05.07.2013 16:20:55
hi cosmac,
danke für die info.. hab ebend grade selbst den Fehler entdeckt..
es müsste richtig heissen:
find /var/cache/zoneminder/events/Chef-1/ -type d -newer /tmp/fru1 ! -newer /tmp/spa1 -printf "%p %s %
TY-%
Tm-%
Td %TT \n" |grep /[0-9]| sort -k4
(man achte auf die roten T)
und dann ist die Ausgabe auch korrekt:
find /var/cache/zoneminder/events/Chef-1/ -type d -newer /tmp/fru1 ! -newer /tmp/spa1 -printf "%T@ %p \n" |grep /[0-9]| sort -k1
soo meine scripte wurden angepasst
Debian-Nutzer
ZABBIX Certified Specialist