Hallo, ich wollte heute Dateien suchen, die an einem best. Tag in der Vergangenheit geändert wurden. Bin dabei logischerweise mit find und mtime, etwas später auch mit daystart konfrontiert worden. Ich verstehe das ganze wie folgt: man find sagt u.a. : "When find figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match -atime +1, a file has to have been accessed at least two days ago." ---------------------------------------------------------------------------------- Beispiel: pc53082:~ # date Fri Aug 27 18:50:17 CEST 2010 pc53082:~ # stat test File: `test' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 822h/2082d Inode: 11688199 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2010-08-27 17:40:43.000000000 +0200 Modify: 2010-08-26 17:50:00.000000000 +0200 Change: 2010-08-27 17:48:56.000000000 +0200 pc53082:~ # find . -type f -mtime 0 -exec ls -la {} \; -rw------- 1 root root 53 Aug 27 14:20 ./.Xauthority -rw------- 1 root root 47 Aug 27 18:46 ./.lesshst test ist am 26.8. um 17:50 modifiziert worden. D.h. die Datei test ist 1,irgendwas * 24h alt. Deswegen wird sie mit "mtime 0" nicht gefunden, logischwerseise mit "mtime 1": pc53082:~ # find . -type f -mtime 1 -exec ls -la {} \;|grep test -rw-r--r-- 1 root root 0 Aug 26 17:50 ./test pc53082:~ # find . -type f -mtime +1 -exec ls -la {} \;|grep -w test -rwxr--r-- 1 root root 150 Sep 1 2009 ./skripte/test.sh -rwxr-xr-x 1 root root 17 Jun 10 14:21 ./linux_shell_kurs/test.sh -rw-r--r-- 1 root root 93 Jan 10 2010 ./test.gz Wie gesagt, die Datei ist 1,xxx * 24h alt. Da lt. man xxx abgeschnitten wird, bleibt 1 übrig, womit die Bedingung +1 nicht mehr erfüllt wird. So weit so gut. ----------------------------------------------------------------------------------- So nach Dateien zu suchen, die z.b. gestern oder an einem best. Tag in der Vergangenheit geändert wurden, ist schwierig. Neues Beispiel: pc53082:~ # date Fri Aug 27 19:01:36 CEST 2010 pc53082:~ # touch -m -t 1008261904 test pc53082:~ # stat test File: `test' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 822h/2082d Inode: 11688199 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2010-08-27 17:40:43.000000000 +0200 Modify: 2010-08-26 19:04:00.000000000 +0200 Change: 2010-08-27 19:01:53.000000000 +0200 pc53082:~ # find . -type f -mtime 0 -exec ls -la {} \;|grep -w test -rw-r--r-- 1 root root 0 Aug 26 19:04 ./test pc53082:~ # date Fri Aug 27 19:06:02 CEST 2010 pc53082:~ # find . -type f -mtime 0 -exec ls -la {} \;|grep -w test pc53082:~ # pc53082:~ # find . -type f -mtime 1 -exec ls -la {} \;|grep -w test -rw-r--r-- 1 root root 0 Aug 26 19:04 ./test pc53082:~ # Die Datei ist im zweiten Beispiel in beiden Fällen zwar gestern geändert worden, wird aber nur einmal gefunden ! -------------------------------------------------------------------------------------------- Da stolpere ich in der manpage über -daystart und denke, das ist die Lösung meines Problems: "-daystart Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the beginning of today rather than from 24 hours ago. This option only affects tests which appear later on the command line." Mißt von "beginning of today", sprich, auf heute bezogen, von 27.8.2010 00:00. Da meine Datei am 26.8. um 19:04 geändert wurde, ist sie, beginnend von 27.8. 00:00, 0,xxx * 24h alt. Somit müsste sie mit folgender Zeile zu finden sein: 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. Die Datei ist, vom Standpunkt 27.8. 00:00, 0,xxx * 24h alt. Das ",xxx" wird abgeschnitten, damit bleibt 0 übrig. 0 ist nicht gleich 1, aber die Datei wird gefunden. Auch diese Zeile sollte die Datei _nicht_ finden: pc53082:~ # find . -type f -daystart -mtime +0 -exec ls -la {} \;|grep -w test -rw-r--r-- 1 root root 0 Aug 26 19:04 ./test Da die Datei 0,xxx * 24h alt ist und ,xxx abgeschnitten wird, ist die Bedingung "+0" nicht erfüllt. Die Datei wird aber gefunden. Wo ist mein Denkfehler ? Bernd -- Bernd Lentes Systemadministration Institut für Entwicklungsgenetik HelmholtzZentrum münchen bernd.lentes@helmholtz-muenchen.de phone: +49 89 3187 1241 fax: +49 89 3187 3826 http://www.helmholtz-muenchen.de/idg Aufsichtsratsvorsitzende: MinDir'in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 Zeit ist keine Schnellstrasse zwischen Wiege und Grab, sondern Platz zum Parken in der Sonne -- 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
Hallo Bernd Am Freitag, 27. August 2010, 19:32:39 schrieb Lentes, Bernd:
pc53082:~ # date Fri Aug 27 19:06:02 CEST 2010 pc53082:~ # find . -type f -mtime 0 -exec ls -la {} \;|grep -w test pc53082:~ # pc53082:~ # find . -type f -mtime 1 -exec ls -la {} \;|grep -w test -rw-r--r-- 1 root root 0 Aug 26 19:04 ./test pc53082:~ #
Die Datei ist im zweiten Beispiel in beiden Fällen zwar gestern geändert worden, wird aber nur einmal gefunden !
--------------------------------------------------------------------------- -----------------
Da stolpere ich in der manpage über -daystart und denke, das ist die Lösung meines Problems: "-daystart Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the beginning of today rather than from 24 hours ago. This option only affects tests which appear later on the command line." Mißt von "beginning of today", sprich, auf heute bezogen, von 27.8.2010 00:00. Da meine Datei am 26.8. um 19:04 geändert wurde, ist sie, beginnend von 27.8. 00:00, 0,xxx * 24h alt. Somit müsste sie mit folgender Zeile zu finden sein:
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. Die Datei ist, vom Standpunkt 27.8. 00:00, 0,xxx * 24h alt. Das ",xxx" wird abgeschnitten, damit bleibt 0 übrig. 0 ist nicht gleich 1, aber die Datei wird gefunden.
Auch diese Zeile sollte die Datei nicht finden:
pc53082:~ # find . -type f -daystart -mtime +0 -exec ls -la {} \;|grep -w test -rw-r--r-- 1 root root 0 Aug 26 19:04 ./test
Da die Datei 0,xxx * 24h alt ist und ,xxx abgeschnitten wird, ist die Bedingung "+0" nicht erfüllt. Die Datei wird aber gefunden.
Wo ist mein Denkfehler ?
Ich habe das Buch Linux GE-PACKT, und habe darin nachgeschaut. Es ist nicht nur eine deutschsprachige Referenz, sondern enthält auch sehr anschauliche Beispiele, wie zB folgendes: find -type f -atime +10 -atime -20 Damit sind alle Dateien gemeint (type f) auf die vor 10 bis 20 Tage zugegriffen wurde. Man achte auf die + und - Zeichen. Teste einfach mal find -daystart -mtime +1 find -daystart -mtime -1 Du wirst merken, das dabei zwei verschiedene Ergebnisse rauskommen. Die Zweite Variante gibt bei mir zB eine Testdatei aus, die ich gerade eben angelegt habe. Hier noch kurz was in dem Buch zu -daystar steht: "Diese Option bewirkt, dass die mit den Optionen -atime, amin, -ctime, cmin, mtime und -mmin angegebenen Zeiten vom Beginn dieses Tages an berechnet werden und nicht und nicht bezüglich des aktuellen Zeitpunktes. '-atime 0' steht für die letzten 24 Stunden, '-daystart -atime 0' für 'heute ab 0:00'." Ich hoffe ich konnte nützliche Anstöße beisteuern. Viele Grüße Peter -- ######################################################################## ######################################################################## ######################################################################## ######################################################################## -- 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
Am Freitag, 27. August 2010 schrieb Lentes, Bernd:
(...). 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 Du solltest dir aber auch mal "-newerXY reference" mit X=m und Y=t angucken und reference=irgendwas, das "date -d" auch frisst. Beispielsweise schränkt -newermt "today 0000" -and -not -newermt "tomorrow 0000" genau auf den heutigen (Kalender-)Tag ein. BTW, wenn du die "0000" wegläßt, hast du wieder genau das Problem, was du ohne "-daystart" hast: es gelten die letzten 24h und nicht der heutige (Kalender-)Tag. HTH Jan -- Today is the day you worried about yesterday. -- 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
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
Am Freitag, 27. August 2010 23:54 schrieb Lentes, Bernd:
Jan Ritzerfelder schrieb:
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.s html
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 ?
Eben nicht. Ich habe damit zwar keine Erfahrung und das auch nicht getestet. Aber analog zu Jan's Erleuterungen schränkt "-daystart -mtime 0" auf den _heutigen_ Kalendertag ein (siehe (*)) oben. Das deckt sich auch mit der vorherigen Antwort von Peter. Good night Ralf -- Antworten bitte nur in die Mailingliste! PMs bitte an: listpm (@) arndt-de (.) eu -- 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
Am Freitag, 27. August 2010 schrieb Lentes, Bernd:
Jan Ritzerfelder schrieb:
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. (...).
Das wäre aus Anwendersicht unlogisch, weil sich "-mtime" dann vollkommen anders verhalten würde, wenn "-daystart" angegeben ist. Außerdem steht in der Man-Page (gekürzt): -atime File was last accessed n*24 hours ago. Für n=0 ergibt sich das Intervall (jetzt-1*24h, jetzt-0*24h]. Für n=1 ergibt sich das Intervall (jetzt-2*24h, jetzt-1*24h] Mit -daystart Measure times (...) from the beginning of today rather than from 24 hours ago. wird aus jetzt-1*24h ("from 24 hours ago") der Beginn des heutigen Tages ("from the beginning of today") und folglich für n=1 aus jetzt-2*24h der Beginn des gestrigen Tages: Für n=0 ergibt sich dann das Intervall (heute 00:00, morgen 00:00]. Für n=1 ergibt sich dann das Intervall (gestern 00:00, heute 00:00]. Gruß Jan -- When all else fails, lower your standards. -- 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
Hallo Leute Am Samstag, 28. August 2010, 01:03:04 schrieb Jan Ritzerfeld:
Das wäre aus Anwendersicht unlogisch, weil sich "-mtime" dann vollkommen anders verhalten würde, wenn "-daystart" angegeben ist. Außerdem steht in der Man-Page (gekürzt): -atime File was last accessed n*24 hours ago.
Für n=0 ergibt sich das Intervall (jetzt-1*24h, jetzt-0*24h]. Für n=1 ergibt sich das Intervall (jetzt-2*24h, jetzt-1*24h]
Mit -daystart Measure times (...) from the beginning of today rather than from 24 hours ago. wird aus jetzt-1*24h ("from 24 hours ago") der Beginn des heutigen Tages ("from the beginning of today") und folglich für n=1 aus jetzt-2*24h der Beginn des gestrigen Tages: Für n=0 ergibt sich dann das Intervall (heute 00:00, morgen 00:00]. Für n=1 ergibt sich dann das Intervall (gestern 00:00, heute 00:00].
Die Diskussion verwirrt mich langsam :-) Aber ich habe jetzt mal einen eigenen Test durchgeführt. mit -ls als zusätzliche Option geht das ganz. peter@linux-z4jh:~> find FSpot/ -daystart -mtime -1 -ls 1048583 4 drwxr-xr-x 2 peter users 4096 Aug 28 00:46 FSpot/2010/08/27 1048733 1120 -rw-r--r-- 1 peter users 1143968 Aug 28 00:43 FSpot/2010/08/27/dscf0335\ (Bearbeitet\ in\ Gwenview).jpg 1048635 6700 -rw-r--r-- 1 peter users 6859080 Aug 28 00:43 FSpot/2010/08/27/dscf0335\ (Bearbeitet\ in\ GIMP).jpg 1048740 4524 -rw-r--r-- 1 peter users 4631958 Aug 28 00:46 FSpot/2010/08/27/dscf0335.jpg 1048582 4 drwxr-xr-x 2 peter users 4096 Aug 28 00:41 FSpot/2010/08/26 1048629 4752 -rw-r--r-- 1 peter users 4865301 Aug 28 00:41 FSpot/2010/08/26/dscf0320.jpg 1048741 4908 -rw-r--r-- 1 peter users 5024089 Aug 28 00:41 FSpot/2010/08/26/dscf0320\ (Bearbeitet\ in\ GIMP).jpg peter@linux-z4jh:~> find FSpot/ -daystart -mtime -0 -ls peter@linux-z4jh:~> Wenn man sich das genau anschaut, dann fällt auf, das die erste Variante Dateien ab 28. 0:00 uhr ausgiebt. Die zweite Variante dagegen nichts. find FSpot/ -daystart -mtime +0 -ls | less Und bei diesem Befehl wird alles was nach 27. 24 Uhr kommt abgeschnitten. Die Ausgabe folgender zwei Befehle ist identisch: find FSpot/ -daystart -mtime -1 -ls find FSpot/ -daystart -mtime 0 -ls Was lerne ich daraus? - kleiner als + größer als ohne +- gleich wie angegebene Zahl. Also ich glaube ich habs jetzt kapiert, es sei denn es kommt jemand und verwirrt mich wieder ;-) Viele Grüße Peter -- ######################################################################## ######################################################################## ######################################################################## ######################################################################## -- 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
Jan Ritzerfeld schrieb:
Am Freitag, 27. August 2010 schrieb Lentes, Bernd:
Jan Ritzerfelder schrieb:
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. (...).
Das wäre aus Anwendersicht unlogisch, weil sich "-mtime" dann vollkommen anders verhalten würde, wenn "-daystart" angegeben ist. Außerdem steht in der Man-Page (gekürzt): -atime File was last accessed n*24 hours ago.
Für n=0 ergibt sich das Intervall (jetzt-1*24h, jetzt-0*24h]. Für n=1 ergibt sich das Intervall (jetzt-2*24h, jetzt-1*24h]
Mit -daystart Measure times (...) from the beginning of today rather than from 24 hours ago. wird aus jetzt-1*24h ("from 24 hours ago") der Beginn des heutigen Tages ("from the beginning of today") und folglich für n=1 aus jetzt-2*24h der Beginn des gestrigen Tages: Für n=0 ergibt sich dann das Intervall (heute 00:00, morgen 00:00]. Für n=1 ergibt sich dann das Intervall (gestern 00:00, heute 00:00].
Hallo, ich glaub ich weiß wo mein "Knoten" lag. Ich habe bei -daystart und n=0 "nach hinten" geguckt. Will heißen, ich dachte bei -daystart sei n=0 von heute, 00:00 bis gestern, 00:00. Tatsächlich ist nat. bei -daystart und n=0 der Zeitraum von heute, 00:00 bis heute, 23:59 gemeint. 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
Hallo Bernd Am Montag, 30. August 2010, 10:45:37 schrieb Lentes, Bernd:
ich glaub ich weiß wo mein "Knoten" lag. Ich habe bei -daystart und n=0 "nach hinten" geguckt. Will heißen, ich dachte bei -daystart sei n=0 von heute, 00:00 bis gestern, 00:00. Tatsächlich ist nat. bei -daystart und n=0 der Zeitraum von heute, 00:00 bis heute, 23:59 gemeint.
Interessant dabei finde ich noch, das bei find -daystart -mtime 0 -ls find -daystart -mtime -0 -ls find -daystart -mtime +0 -ls drei verschiedene Ergebnisse rauskommen. Viele Grüße Peter -- ######################################################################## ######################################################################## ######################################################################## ######################################################################## -- 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
Trommelpeter schrieb:
Interessant dabei finde ich noch, das bei
find -daystart -mtime 0 -ls find -daystart -mtime -0 -ls find -daystart -mtime +0 -ls
drei verschiedene Ergebnisse rauskommen.
ist aber logisch. Ausgangsszenario: idcc-devel:~ # stat test_heute File: `test_heute' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 802h/2050d Inode: 3254119 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2010-08-31 18:58:02.000000000 +0200 Modify: 2010-08-31 18:58:02.000000000 +0200 Change: 2010-08-31 18:59:12.000000000 +0200 idcc-devel:~ # stat test_gestern File: `test_gestern' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 802h/2050d Inode: 3254293 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2010-08-31 18:59:23.000000000 +0200 Modify: 2010-08-30 19:00:00.000000000 +0200 Change: 2010-08-31 19:00:07.000000000 +0200 idcc-devel:~ # stat test_morgen File: `test_morgen' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 802h/2050d Inode: 3254286 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2010-08-31 18:58:12.000000000 +0200 Modify: 2010-09-01 19:00:00.000000000 +0200 Change: 2010-08-31 19:09:52.000000000 +0200 idcc-devel:~ # date Tue Aug 31 19:11:03 CEST 2010 idcc-devel:~ # find . -daystart -mtime 0 -type f -exec ls -la {} \; |grep test -rw-r--r-- 1 root root 0 Aug 31 18:58 ./test_heute logisch, findet nur Dateien, die heute geändert wurden. idcc-devel:~ # find . -daystart -mtime +0 -type f -exec ls -la {} \; |grep test -rw-r--r-- 1 root root 0 Aug 30 19:00 ./test_gestern auch logisch, findet nur Dateien, die gestern oder noch länger her geändert wurden. Da ja der Nachkommateil lt. man abgeschnitten wird, erfüllen erst Dateien, die jüngstens gestern geändert wurden, die Bedingung +0 (1 > +0). idcc-devel:~ # find . -daystart -mtime -0 -type f -exec ls -la {} \; |grep test -rw-r--r-- 1 root root 0 Sep 1 2010 ./test_morgen Auch hier in einem gewissen Sinne logisch. Es dürfte zwar kaum Dateien geben, deren Änderungsdatum in der Zukunft liegt, aber find zeigt diese richtig an. 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
participants (4)
-
Jan Ritzerfeld
-
Lentes, Bernd
-
Peter Steffinger
-
Ralf Arndt