【发布时间】:2021-06-05 01:03:57
【问题描述】:
有没有什么方法可以使用标准工具(不是编程脚本)以自定义的奇怪格式解析日期?
我有一个启动脚本 (bash),它应该处理程序的输出,其中包含格式非常奇怪的日期(如 2021 年 1 月 4 日,下午 1:20:30 - 这将是一个类似的模式"MMM, d, yyyy, h:mm:ss a"。
可以使用 sed 或 awk 提取令牌,但处理它们是一场噩梦,尤其是月份快捷方式(它们与系统使用相同的语言,但该语言可以是特定于安装的)或小时(需要检查 AM/PM 令牌,如果是 PM,则添加 12)。
'date' 显然不支持,但可能是一些 shell 扩展或工具包包?或者我运气不好,我需要使用 sed/cut/awk 逐个令牌解析这个糟糕的格式令牌?
我尝试在删除逗号后执行touch -d "Date"(这样我就可以将日期与[[ file1 -ot file2 ]] 进行比较,但问题是,触摸忽略了时间部分,而ls -lh 已显示, 表示年份代替了时间,所以比较的结果是无效的。
【问题讨论】:
-
请将该示例输入的所需输出(无描述、无图像、无链接)添加到您的问题(无评论)。
-
@Cyrus 我搜索了 linux 解析日期模式,解析自定义/奇数格式,但我发现的工作示例是 python...