【问题标题】:How to parse a filename into a timestamp?如何将文件名解析为时间戳?
【发布时间】:2019-02-18 02:09:35
【问题描述】:

所以这是我要解析的文件名: file_name-19-02-17-21.03.02.tgz

我正在尝试解析其中包含时间的文件名以输出时间范围变量。我怎样才能做到这一点?我想将它与当前时间戳进行比较以获得差异。

我正在编写一个 bash 脚本。

我希望有一个时间戳。谢谢!

【问题讨论】:

  • 欢迎来到 SO。您能否提供您的示例输入和预期输出?

标签: linux bash date parsing filenames


【解决方案1】:

例如:

echo file_name-19-02-17-21.03.02.tgz | awk '{t=mktime(gensub(/file_name-([0-9]{2})-([0-9]{2})-([0-9]{2})-([0-9]{2})\.([0-9]{2})\.([0-9]{2})\.tgz/, "20\\1 \\2 \\3 \\4 \\5 \\6", "")); printf("timestamp: %d diff: %d\n",t, systime() - t);}'

结果:

timestamp: 1550455382 diff: 3698

【讨论】:

    猜你喜欢
    • 2013-07-22
    • 2017-02-20
    • 2014-09-19
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多