我有两个参数作为输入: startdate=20160512和enddate=20160514.
我希望能够在我的bash脚本中生成这两个日期之间的日期,不包括startdate,但包括enddate:
20160513 20160514我正在使用linux机器.我该如何做到这一点?谢谢.
Joh*_*024 11
使用GNU日期:
$ d=; n=0; until [ "$d" = "$enddate" ]; do ((n++)); d=$(date -d "$startdate + $n days" +%Y%m%d); echo $d; done
20160513
20160514
Run Code Online (Sandbox Code Playgroud)
或者,分布在多行:
startdate=20160512
enddate=20160514
d=
n=0
until [ "$d" = "$enddate" ]
do
((n++))
d=$(date -d "$startdate + $n days" +%Y%m%d)
echo $d
done
Run Code Online (Sandbox Code Playgroud)
d=; n=0
初始化变量.
until [ "$d" = "$enddate" ]; do
开始一个结束的循环enddate.
((n++))
增加日计数器.
d=$(date -d "$startdate + $n days" +%Y%m%d)
计算n之后几天的日期startdate.
echo $d
显示日期.
done
发出循环结束的信号.