Jan Ritzerfelder schrieb:
(...). pc53082:~ # date Fri Aug 27 19:18:36 CEST 2010 pc53082:~ # find . -type f -daystart -mtime 0 -exec ls -la {} \;|grep -w test pc53082:~
Wird sie aber nicht, seltsam.
Folgende Zeile sollte die Datei _nicht_ finden: pc53082:~ # find . -type f -daystart -mtime 1 -exec ls -la {} \;|grep -w test -rw-r--r-- 1 root root 0 Aug 26 19:04 ./test pc53082:~ # Tut sie aber, seltsam. (...). Wo ist mein Denkfehler ?
Ich habe damit zwar auch immer so meine Probleme gehabt, aber die Resultate deiner obigen Beispiele erscheinen mir logisch: "-mtime 0" schränkt auf die letzten 24h ein wohingegen "-daystart -mtime 0" auf den heutigen (Kalender-)Tag einschränkt. Analog schränkt "-daystart -mtime 1" auf den gestrigen (Kalender-)Tag ein. Hier stehts auch so http://www.softpanorama.org/Tools/Find/selecting_files_by_age.shtml
Genau die erscheinen mir nicht logisch. Wenn der Satz aus der manpage auch bei -daystart gilt, daß Nachkommastellen abgeschnitten werden, dann sollte "-daystart -mtime 0" Dateien finden, die gestern modifiziert wurden. Bsp.: Momentan ist ca. 23.55 Uhr. Eine Datei xy wurde gestern (26.8) um 12:00 verändert. "find -daystart -mtime 0" rechnet von heute, 27.8. 00:00 an. Damit ist diese Datei 0,5 * 24h alt. ,5 wird abgeschnitten, 0 bleibt übrig. Somit müsste bei "-daystart -mtime 0" Dateien gefunden werden, die _gestern_ modifiziert wurden. Oder etwa nicht ? Bernd -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org