我要求从最近几天的日志文件中获取特定模式。
我试图将过去几天的日期变成一个变量,该变量可以在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
答案 0 :(得分:0)
几点变化:
#!/bin/bash
for((dy=1;dy<=4;dy++))
do
dt=$(date --date="$dy days ago" +"%Y-%m-%d")
echo $dt
done
/bin/sh
(对我来说是dash
)并且在dash
c中对于格式不起作用所以这样做:
#!/bin/sh
for dy in `seq 1 4`
do
dt=$(date --date="$dy days ago" +"%Y-%m-%d")
echo $dt
done