【发布时间】:2017-11-14 03:02:51
【问题描述】:
我需要从最近几天的日志文件中 grep 特定模式。
我试图将过去几天的日期转换为一个变量,该变量可以在 grep 命令中替换以搜索模式。日志模式如下:
log-gr_base.log.2017-06-08.gz
但是,我收到如下错误
date: invalid date ‘=1 day ago’
date: invalid date ‘=2 day ago’
date: invalid date ‘=3 day ago’
date: invalid date ‘=4 day ago’
Shell 脚本
#!/bin/sh
for ((dy=1;dy<=4;dy++))
do
dt= $(date --date ="$dy day ago" +'%Y-%m-%d')
echo $dt
done
预期结果是
2017-06-11
2017-06-10
2017-06-09
2017-06-08
【问题讨论】:
-
--date和="$dy day ago"之间不应有空格。此外,您还有一些其他语法错误。
标签: arrays linux bash shell datetime