Dis*_*ame 5 osx date timestamps files touch
我需要获取文件的修改日期,以便我可以使用touch -m
.
stat
或者perl -le 'print((stat shift)[9])'
没有返回我想要的东西。我认为你应该使用 - 和 + 但我不确定如何正确使用它。
我虽然使用-t
I虽然它可以以另一种方式设置它,但这里我尝试将其设置为2013年7月3日。
touch -t 20130703
Run Code Online (Sandbox Code Playgroud)
但这也没有按照我想要的方式改变它。那么回到问题,如何复制其他文件属性以便我可以使用 来设置它们touch -m
?
stat
您可以使用以下命令将or返回的时间转换perl
为您想要的格式date
(假设您安装了 GNU coreutils):
# Convert UNIX time returned by perl to year+month+day
$ date -d @$(perl -le 'print((stat shift)[9])' FILENAME) +%Y%m%d
20130703
# Convert formatted time returned by GNU stat to year+month+day
$ date -d "$(stat -c %y FILENAME)" +%Y%m%d
20130703
Run Code Online (Sandbox Code Playgroud)
date
它本身也可以直接给你文件的修改时间:
$ date -r FILENAME +%Y%m%d
20130703
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅GNU 日期( man date
) 的手册页。