bash - Mtime einer bestimmten Datei abrufen?
Ich bin mir wohl bewusst, in der Lage zu tun find myfile.txt -mtime +5
um zu überprüfen, ob meine Datei ist älter als 5 Tage sind oder nicht. Allerdings möchte ich den fetch-mtime in Tagen myfile.txt und speichern es in eine variable zur weiteren Verwendung. Wie soll ich das tun?
InformationsquelleAutor der Frage Industrial | 2011-01-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
stat
Sie als info:%Y
gibt Sie, die Letzte änderung als "Sekunden seit Der Epoche", aber es gibt viele andere Optionen; mehr info. Also, wenn die Datei geändert wurde auf 2011-01-22 15:30 GMT, die oben zurückkehren würde, eine Zahl in der region von 1295710237.Bearbeiten: Ah, Sie wollen die Zeit in Tagen seit dem es geändert wurde. Das wird komplizierter, nicht zuletzt, weil ein "Tag" ist nicht eine Feste Zeit (einige "Tage" haben nur 23 Stunden, die anderen 25 — Dank Sommerzeit).
Den naiv version könnte wie folgt Aussehen:
...aber das ist wieder vorausgesetzt, ein Tag ist immer genau 86.400 festgelegt Sekunde lang.
Mehr über Arithmetik in der bash hier.
InformationsquelleAutor der Antwort T.J. Crowder
wird $in das ZEITALTER von $file in die Tage, als Perl -
-M
Betreiber verarbeitet diestat
anrufen und die Umstellung auf Tage für Sie.Der Rückgabewert ist eine Gleitkommazahl (z.B., 6.62849537 Tage). Hinzufügen eines
int
zum Ausdruck, wenn Sie brauchen, um eine ganze Zahl als ErgebnisRuby und Python haben auch Ihre Einzeiler zu stat-Datei und wieder einige Daten, aber ich glaube Perl ist die knappste Weise.
InformationsquelleAutor der Antwort mob
Ich das die Antwort?
Blick auf stat-Hilfe
InformationsquelleAutor der Antwort silvio