【问题标题】:Proper way to format timestamp in bash在bash中格式化时间戳的正确方法
【发布时间】:2017-04-25 18:48:58
【问题描述】:

所以我需要为外部承包商创建一个输出文件,其中包含目录中的文件名列表和特定格式的创建日期,如下所示:

FileName     YYYYmmDDHHMMSS

到目前为止,我想出了:

find ./ -type f -printf " %f %a\n"

返回:

2017 年 4 月 21 日星期五 18:21:15.0458585800

或者:

ls -l | awk {'print  $9" "$6" "$7" "$8'}

返回:

文件名 4 月 21 日 18:21

但也不是我需要的输出,因为它需要纯数字并包括秒数。

请记住,文件列表可能非常大,因此效率是重中之重,我怎样才能得到这个输出?

【问题讨论】:

    标签: linux bash rhel


    【解决方案1】:

    类似的东西

    find ./ -type f -printf " %f %AY%Am%Ad%AH%AM%AS\n" |sed -e 's/\.[0-9]*$//'
    

    (需要sed 在几秒钟后删除小数部分)

    (编辑)ls 将是:

    ls -l --time-style=+%Y%m%d%H%M%S |awk {'print $7" "$6'}
    

    【讨论】:

      猜你喜欢
      • 2015-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-17
      • 2012-06-24
      • 1970-01-01
      相关资源
      最近更新 更多