bash – 如何在shell脚本中以格式%Y%m%d打印两个日期之间的日
发布时间:2020-12-15 22:46:29 所属栏目:安全 来源:网络整理
导读:我有两个参数作为输入:startdate = 20160512和enddate = 20160514. 我希望能够在我的bash脚本中生成这两个日期之间的日期,不包括startdate,但包括enddate: 20160513 20160514 我正在使用linux机器. 我该如何做到这一点?谢谢. 解决方法 使用GNU日期: $d=;
我有两个参数作为输入:startdate = 20160512和enddate = 20160514.
我希望能够在我的bash脚本中生成这两个日期之间的日期,不包括startdate,但包括enddate: 20160513 解决方法
使用GNU日期:
$d=; n=0; until [ "$d" = "$enddate" ]; do ((n++)); d=$(date -d "$startdate + $n days" +%Y%m%d); echo $d; done 20160513 20160514 或者,分布在多行: startdate=20160512 enddate=20160514 d= n=0 until [ "$d" = "$enddate" ] do ((n++)) d=$(date -d "$startdate + $n days" +%Y%m%d) echo $d done 这个怎么运作 > d =; n = 0的 初始化变量. 启动一个以enddate结束的循环. 增加日计数器. 计算startdate后n天的日期. 显示日期. 发出循环结束的信号. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |