【问题标题】:log creation date in ISO formatISO 格式的日志创建日期
【发布时间】:2021-02-14 06:04:36
【问题描述】:

我正在从文件夹中删除一些文件,我想以 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

【问题讨论】:

    标签: linux bash shell scripting ctime


    【解决方案1】:

    正如find manual page 所揭示的那样,printf 格式代码%t 以区域设置的默认格式打印时间。您必须使用 %T 和额外的格式代码字符才能获得不同的格式。

    很遗憾,find 没有开箱即用的 ISO 格式。 %T+ 非常接近,但并不完全存在。因此,您必须将多个 %T 代码拼凑成您想要的精确格式。

    %TY-%Tm-%TdT%TT

    根据您的要求,可能还添加%TZ 以获取时区。

    【讨论】:

    • the Swedish and Japanese locales use ISO forma 哇哇,酷,所以我想测试一下,but the output did not change。我打开 locale helper 并找不到它 - 对于 sv_SE 它是 %a %e %b %Y %H:%M:%S,不是吗?
    • 嗯,我想你是对的 - 我将删除那部分。我假设repl.it 没有安装这些语言环境,因此覆盖LC_TIME 是无操作的。 (该网站实际上无法在移动设备上运行,因此我无法测试。)
    • :/ 我编辑了我的 /etc/locale.gen,做了 locale-gen,然后尝试了 - 没有区别
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    相关资源
    最近更新 更多