批量更改文件修改时间为访问时间

批量更改文件修改时间为访问时间

我的目录中有一堆文件,其中修改时间被更改(错误地)touch -m

这些文件的访问时间仍然足够接近修改时间,所以我想将它们改回来。

有没有办法touch设置 mtime = atime ?我不想将它们全部设置为相同的时间戳,但我想逐个文件设置 mtime = atime。

答案1

怎么样:

#!/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

相关内容