问题描述
我要从文件夹中删除一些文件,并且想以ISO格式记录文件的创建和删除日期。我能够以ISO格式获取删除日期,但不能以ISO格式获取创建日期。下面是我正在尝试的命令
find /home/xyz/Pictures -maxdepth 1 -name "*.jpeg" -type f -ctime +48 -printf "%P %t $(date -Is)\n" >> log1.log
输出:
download.jpeg Fri Apr 24 19:30:59.0130057090 2020 2020-11-01T16:12:57+05:30
必需的输出:
download.jpeg 2020-04-24T11:12:57+05:30 2020-11-01T16:12:57+05:30
解决方法
正如find
manual page所揭示的那样,printf
格式代码%t
以语言环境的默认格式打印时间。您必须将%T
与其他格式代码字符一起使用才能获得不同的格式。
不幸的是,find
没有开箱即用的ISO格式。 %T+
非常接近,但还远远不够。因此,您必须将多个%T
代码组合成所需的精确格式。
%TY-%Tm-%TdT%TT
根据您的要求,也可以添加%TZ
来获取时区。