我有一个包含字符串的文件:
2014-11-22 08:15:00
...表示的是2014年11月22日上午8:15
。
我想解析这个字符串,并使用BASH中的日期函数与当前日期进行比较。我有比较日期的代码,但两个日期都是由BASH生成的,很容易格式化和比较。然而,我无法使用从另一个系统收集的字符串进行比较。
我尝试过一些东西:
$ mydate=$(cat filewithstring);date -d $mydate
$ mydate=$(cat filewithstring);date -d '$mydate'
$ mydate=$(cat filewithstring);date -d $mydate "+%Y-%m-%d %H:%M:%S"
我最终会出现以下错误:
date: 参数 '08:00:00' 缺少前导 '+';当使用选项来指定日期时,任何非选项参数都必须是以 '+' 开头的格式字符串*
...或者...
date: 额外的操作数 '+%Y-%m-%d %H:%M:%S'
我知道如果我明确地输入该字符串,它就可以正常工作:
$ date -d '2014-11-22 08:15:00'
Sat Nov 22 08:15:00 EST 2014
最终,我希望能够做到以下几点:
- 捕获并收集“其他”服务器中文件中的日期/时间字符串
- 读取文件中的字符串
- 将字符串中的日期/时间与当前日期/时间进行比较
- 输出类似于“此事件在12分钟前处理”的内容
有什么想法吗?谢谢。