ISO 格式的日志创建日期

log creation date in ISO format

我要从文件夹中删除一些文件,我想以 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 以获取时区。