Ich weiß, wie man die mtime einer Datei im Epochenformat erhält :
stat --format=%Y <file>
Aber ich habe nicht in der Lage , herauszufinden , wie setzen eine Datei mtime in Epoch - Format. Die Manpage touch (1) akzeptiert anscheinend nur einen "Zeitstempel" -Wert (mehr oder weniger festes Format, das Monate, Tage, Stunden, Minuten usw. verwendet) oder eine "meist frei lesbare Datumszeichenfolge im freien Format".
Gibt es ein anderes Dienstprogramm, das ich prüfen sollte?
Vielen Dank.
shell
timestamps
touch
eil
quelle
quelle
Antworten:
Zumindest in der GNU-Welt:
Wie bei
date
.quelle
Mit
perl
:Dies ändert die Zeit aller Dateien in
@ARGV
.(stat($_))[8]
ist der Zeitpunkt der Datei.utime
Wenn Sie sich nicht für eine Änderung der Zeit interessieren, können Sie Folgendes versuchen:Hinweis
utime
hängt von der C-Laufzeitbibliothek und dem verwendeten Dateisystem ab. sehen Sie mehr inperldoc -f utime
undperldoc perlport
.quelle
Mit dem
touch
Befehl von GNU coreutils (dh unter nicht eingebettetem Linux und Cygwin) finden Sie im vollständigen Handbuch (normalerweise lokal im Infoformat verfügbar) eine Dokumentation der Datumseingabeformate . Epochendaten werden mit dem Präfix angegeben@
:Dies funktioniert auch mit BusyBox (zumindest auf einigen Systemen kann dies von den Kompilierungsoptionen abhängen).
Ich glaube nicht, dass Sie dies mit * BSD
touch
alleine tun können, aber Sie können aufrufen,date
um die Epochenzeit in ein Format zu formatieren, dastouch
akzeptiert.POSIX bietet bekanntermaßen keine Möglichkeiten, Epochendaten zu manipulieren. Sie können Perl verwenden .
quelle