我正在嘗試將目錄樹中所有文件的時間戳增加一個小時(以糾正DST更改)。經過大量的修補和搜索後,我已經找到了如何使用find,stat和touch來完成它,但是當我將所有內容放在一個命令中時,它就會失敗。 命令是:我該如何拼湊找到,統計和觸摸?
find ~/dir -type f -exec touch -m --date="$(stat -c '%y' '{}') + 3600 sec" '{}' \;
或可替代地使用ARGS:
find $DIRNAME -type f -print0 | xargs -0 touch -m --date="$(stat -c '%y' '{}') + 3600 sec"
但是它不工作並返回一個錯誤: 統計:不能STAT`{}':沒有這樣的文件或目錄
我一直在這堵牆上撞了我半天的頭。任何建議?
文件時間是紀元秒。 DST時間更改實際上不能改變文件的mtime,atime或ctime。您是否重置系統時間以補償時間變化? – 2010-11-19 01:38:31
我不評論原始海報的方法對解決他原來的問題的正確性,我只是展示如何組合這些工具。 – Sorpigal 2010-11-19 13:33:55