Ich versuche, den Zeitstempel aller Dateien in einem Verzeichnisbaum um eine Stunde zu erhöhen (um die Änderung der Sommerzeit zu korrigieren). Nach viel Basteln und Suchen habe ich herausgefunden, wie man es mit Find, Stat und Touch macht, aber wenn ich alles in einem Befehl zusammenfasse, scheitert es. lautet der Befehl:Wie stelle ich Fund, Stat und Touch zusammen?
find ~/dir -type f -exec touch -m --date="$(stat -c '%y' '{}') + 3600 sec" '{}' \;
oder alternativ mit args:
find $DIRNAME -type f -print0 | xargs -0 touch -m --date="$(stat -c '%y' '{}') + 3600 sec"
aber es funktioniert nicht und gibt einen Fehler: stat: can not stat `{} ': Keine solche Datei oder das Verzeichnis
Ich habe meinen Kopf an dieser Wand für einen halben Tag geschlagen. Irgendein Vorschlag?
Dateizeiten sind Epochen Sekunden. Eine Änderung der Sommerzeit kann die Zeit, die Zeit oder die Zeit einer Datei nicht ändern. Haben Sie die Systemzeit zurückgesetzt, um die Zeitänderung zu kompensieren? –
Ich beziehe mich nicht auf die Richtigkeit des Ansatzes des ursprünglichen Posters, um sein ursprüngliches Problem zu lösen, ich zeige nur, wie man diese Werkzeuge kombiniert. – Sorpigal