我想生成一个从当前周开始向后的n周范围日期列表,就像这样
2014-03-22 2014-03-28
2014-03-15 2014-03-21
2014-03-08 2014-03-14
etc.
Run Code Online (Sandbox Code Playgroud)
其中每行的第一个日期是每周期间的开始,从星期六开始到星期五结束.
我的偏好是使用awk或其他Unix工具在shell脚本中执行此操作.字段分隔符无关紧要,但记录应该是每行一个.
n=5
for i in $(seq 0 $((n-1))); do
echo "$(date -d "last saturday -$i weeks" +"%Y-%m-%d") $(date -d "friday -$i weeks" +"%Y-%m-%d")";
done
Run Code Online (Sandbox Code Playgroud)
输出:
2014-03-22 2014-03-28
2014-03-15 2014-03-21
2014-03-08 2014-03-14
2014-03-01 2014-03-07
2014-02-22 2014-02-28
Run Code Online (Sandbox Code Playgroud)