TOP →
IT関連覚え書き →
シェル(Shell)サンプル → This Page
シェル(Shell)サンプル
指定日数分の日付文字列取得
前提
実施環境(以下の両方でテストしてます)
Red Hat 5.3+bash-3.2
Windows7+Cygwin1.7.9
サンプル
loopDateWhile.sh
#!/bin/sh
# --------------------------------------------------
# whileループで10日前までの日付文字列を1つずつ取得
# --------------------------------------------------
echo "Start"
# 今日の日付を出力
DATE=`date "+%Y%m%d"`
echo "TODAY - ${DATE}"
i=1
while [ ${i} -le 10 ]; do
# ループで1日ずつ過去の日付を出力
DATE=`date -d "${i} days ago" "+%Y%m%d"`
echo "${i} - ${DATE}"
i=`expr ${i} + 1`
done
echo "End"
loopDateFor.sh
#!/bin/sh
# --------------------------------------------------
# forループで10日前までの日付文字列を1つずつ取得
# --------------------------------------------------
echo "Start"
# 今日の日付を出力
DATE=`date "+%Y%m%d"`
echo "TODAY - ${DATE}"
COUNT="1 2 3 4 5 6 7 8 9 10"
for i in ${COUNT}
do
# ループで1日ずつ過去の日付を出力
DATE=`date -d "${i} days ago" "+%Y%m%d"`
echo "${i} - ${DATE}"
done
echo "End"
実行結果
Start
TODAY - 20110804
1 - 20110803
2 - 20110802
3 - 20110801
4 - 20110731
5 - 20110730
6 - 20110729
7 - 20110728
8 - 20110727
9 - 20110726
10 - 20110725
End
サンプルのダウンロード
サンプル一式(zip)
文字コードUTF-8、改行コードLFです。
更新履歴
2011/08/06 本ページ新規追加
TOP →
IT関連覚え書き →
シェル(Shell)サンプル → This Page