Dis*_*ame 5 osx date timestamps files touch
我需要获取文件的修改日期,以便我可以使用touch -m.
stat或者perl -le 'print((stat shift)[9])'没有返回我想要的东西。我认为你应该使用 - 和 + 但我不确定如何正确使用它。
我虽然使用-tI虽然它可以以另一种方式设置它,但这里我尝试将其设置为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) 的手册页。