解析日期并检查 Bash 中的最新日期
我正在开发一个 Bash 脚本(使用 Cygwin),它使用 cURL 来抓取网页并检查某个日期值。我的 cURL 和 grep 调用产生以下行:
Last Update: 9/30/2011 3:16:31 AM
我需要对日期做的是检查它是否在过去 n 天内。解决这个问题的最佳方法是什么?我应该如何解析日期?
I'm working on a Bash script (using Cygwin) that uses cURL to scrape a web page and check a certain date value. My cURL and grep calls result in the following line:
<span style="float:right">Last Update: 9/30/2011 3:16:31 AM</span><p>
What I need to do with the date is check if it is within the last n days. What is the best way to approach this, and how should I parse the date?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
像这样的东西:
Something like:
“日期”程序应该能够解析该日期格式。例如:
因此,您可以使用“日期”将其转换为 bash 中可用的内容(整数,自纪元以来的秒数):
然后将其与结果进行比较
The 'date' program should be able to parse that date format. For example:
So, you can use 'date' to convert that to something usable in bash (an integer, seconds since the epoch):
Then compare that to the result of
我想说,绝对最好的方法是用另一种语言(例如 Perl)解析它,因为解析日期会更容易。如果您宁愿坚持使用 Bash,请检查
man date
中的--date
选项。I would say that the absolute best way is to parse it with another language, for example Perl, since it will be easier to parse out the date. If you'd rather stick with Bash, check the
--date
option inman date
.