日期:2014-05-16  浏览次数:20652 次

linux下shell命令date的妙用

今天需要写一个shell脚本来完成apache日志的筛选,需求很简单,就是要把10分钟之前的日志找出来,然后放到另一个文件中。shell中用date命令对日期进行处理,但怎么获取10分钟之前的时间呢,仔细看了一下help,没有看出对时间的“运算”,有的也就是一些输出格式的描述。但有一个参数 -d or --date=STRING 其描述是display time described by STRING, not ‘now’,那这个STRING该怎么写才可以describe我想要的时间呢,使用 n second(s)/minute(s)/hour(s)/day(s)/year(s) ago 即可,其中n支持负数,那么就变成了之后的时间了。如:

??????? 获取10分钟之前的时间: date --date=“10 munites ago”

??????? 获取10天之前的时间: date --date=“10 days ago”

??????? 获取10分钟之后的时间: date --date=“-10 munites ago”

??????? 获取10天之后的时间: date --date=“-10 days ago”

?????? 这样就实现了使用shell命令做日期的计算了