ディレクトリツリー内のすべてのファイルのタイムスタンプを1時間増やそうとしています(DSTの変更を修正するため)。たくさんの手直しと検索の後、私はfind、stat、touchでそれを行う方法を考え出しましたが、私はすべてを1つのコマンドにまとめて失敗します。私はどのように一緒に見つけて、統計とタッチを合わせますか?
find ~/dir -type f -exec touch -m --date="$(stat -c '%y' '{}') + 3600 sec" '{}' \;
または代替的に使用して引数: コマンドはない
find $DIRNAME -type f -print0 | xargs -0 touch -m --date="$(stat -c '%y' '{}') + 3600 sec"
しかし、それは動作しないと、エラーを返し: STATは: '} { `をstatできません:そのようなファイルまたはディレクトリ
私は今半分この壁に私の頭を叩いています。なにか提案を?
filetimesはエポック秒です。 DST時間の変更は、実際にファイルのmtime、atime、またはctimeを変更することはできません。時間の変化を補うためにシステム時間をリセットしましたか? –
元のポスターのアプローチの正しさについては言及していませんが、私はこれらのツールをどのように組み合わせるかを実証しています。 – Sorpigal