如何使用unix shell脚本将任何日期转换为YYYYMMDDHHMMSS?

时间:2015-06-15 05:11:35

标签: unix-timestamp

如何使用unix shell脚本将任何日期转换为YYYYMMDDHHMMSS? 它不是任何日期的具体日期。如何转换呢? 示例日期格式为:20110101050603

由于 Puspa

1 个答案:

答案 0 :(得分:3)

DATE = "15 Jun 2015 10:10:10"; date -d"$DATE" +%Y%m%d%H%M%S

输出: -

20150615101010

More on Dates
请注意,这仅适用于GNU日期 我读过:

  

Solaris版本的日期,无法支持-d可以通过替换sunfreeware.com版本的日期来解决。

<强>更新: -
使用ls命令查找所有文件,并对所有文件使用grep命令。

ls | grep "[0-9]{14}"

grep命令也接受正则表达式 但它不会准确验证您的文件。例如,如果文件名是20151835101010,则它将验证此文件。但实际上月份和日期都是错误的 所以我的建议是编写一个shell脚本来识别有效的文件名,并通过逐个处理找到最旧的文件名。