如何生成过去几周的连续周范围日期

dan*_*dan 1 bash awk date

我想生成一个从当前周开始向后的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脚本中执行此操作.字段分隔符无关紧要,但记录应该是每行一个.

Jos*_*lly 6

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)