web-dev-qa-db-ja.com

ファイル変更時間を一括アクセス時間に変更

touch -mで変更時刻が(誤って)変更されたディレクトリにたくさんのファイルがあります

これらのファイルのアクセス時間はまだ変更時間に十分近いので、元に戻したいと思います。

Mtime = atimeを設定するtouchを実行する方法はありますか?それらすべてを同じタイムスタンプに設定したくはありませんが、ファイルごとにmtime = atimeを設定したいと思います。

1
Joe

どうですか:

#!/bin/bash

for file in *; do
    # Get the access time using stat
    dateString=$(stat --format %x "$file")
    # Use the datestring to update the time with the 
    # access time
    touch -d "$dateString" "$file"
done

man statから:

   %x     time of last access, human-readable
3
maulinglawns