開始日から今日までの間に特定の曜日が何回やって来たかをカウントするシェルスクリプトです。 ExcelやAccessなんかだともっと楽にできそうです。
#!/bin/sh START_DAY="2014-10-10" TODAY=`date +%Y-%m-%d` #チェック対象の曜日(0:日曜日) TARGET_WEEK=1 #日数をカウントします DIFF=`expr \( \`date -d"$TODAY" +%s\` - \`date -d"$START_DAY" +%s\` \) / 60 / 60 / 24` #何週かカウントします WEEKS=`expr $DIFF / 7` #余った日数をカウントします REST=`expr $DIFF % 7` IN_REST=0 #余った日数の中にチェック対象の曜日が含まれているかチェックします for ((i=0;i<$REST;i++)) do TMP=`date -d"$TODAY $i days ago" +%w` if [ ${TMP} -eq ${TARGET_WEEK} ]; then IN_REST=1; fi done #余った日数の中にチェック対象の曜日が含まれていれば+1します if [ ${IN_REST} -eq 1 ]; then WEEKDAY=`expr $WEEKS + 1` else WEEKDAY=$WEEKS fi echo "$WEEKDAY"