我有很多(3000+)jpeg文件,我想要创建日期的年份。我想保留原始日期,但应将年份从2013年更改为2013年。
我尝试过touch
,只给年份一个--date
选项:
touch --date 2013 f1219486.jpg
年份更改为2013,但月份和日期更改为今天。使用-date 20130000
和其他通配符变体不起作用。
我可以使用touch(或其他命令)仅触摸文件的年份吗?
您可以使用-t
参数代替--date
。来自man touch
:
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
现在,您可以STAMP
使用下一条命令以您感兴趣的方式获得它:
STAMP=$(stat -c %y f1219486.jpg | \
awk 'BEGIN {FS="[-]|[:]|[ ]|[.]"} {printf $2$3$4$5"."$6}' | \
sed -r 's/^/13/g')
一些解释:
stat -c %y f1219486.jpg
将返回上次修改的时间 f1219486.jpg
awk 'BEGIN {FS="[-]|[:]|[ ]|[.]"} {printf $2$3$4$5"."$6}'
将以以下格式更改前一个命令的输出: MMDDhhmm.ss
sed -r 's/^/13/g'
将在13
(前面)添加(当前年份)MMDDhhmm.ss
现在,您只能更改文件的年份:
touch -t $STAMP f1219486.jpg
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句