一个显示 n 天前所有工作日的脚本

设我们要取 60 天以内的所有工作日,甚至排除法定假日:

days=60
for p in `seq 0 $days`
do
d=`date –date “$p days ago” “+%Y-%m-%d”`
w=`date -d $d +%w`
[ $w == 0 -o $w == 6 ] && continue

# 用 wget 从 api.yj777.cn 抓取是否节假日的信息,解析 JSON 数据
workday=`wget -q -O – http://api.yj777.cn/holiday/?d=$d|cut -d, -f4|cut -d: -f2`
# {“Date”:”2017-11-30″,”Country”:”CN”,”Region”:”Zhejiang”,”Status”:2
[ $workday != 2 ] && continue
echo $d
done