人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

シェルスクリプトで以下のように一週間以内のの日付を取得したいのですが
どうすればよろしいでしょうか?
count=1
while [ $count -le 7 ];
do
DATE =`date -d ${count}' days ago' +%Y%m%d`
echo $DATE
count=`expr $count + 1`
done


●質問者: hopefully
●カテゴリ:就職・転職 ウェブ制作
✍キーワード:Days echo LE シェルスクリプト
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● goodvn
●20ポイント

うちでは下記で動きました

count=1
while [ $count -le 7 ];
do
DATE=`date -v-${count}d +%Y%m%d`
echo $DATE
count=`expr $count + 1`
done

FreeBSD の date コマンドなので,GNU date とはちょっと仕様が違うかもしれません

◎質問者からの返答

FreeBSDではないので、ダメでした・・・

7日前などは以下のコマンドで取得。

SEVEN_DAYS_AGO=`date -d '7 days ago' +%Y%m%d`


2 ● goodvn
●10ポイント

うちでは下記で動きました

count=1
while [ $count -le 7 ];
do
DATE=`date -v-${count}d +%Y%m%d`
echo $DATE
count=`expr $count + 1`
done

FreeBSD の date コマンドなので,GNU date とはちょっと仕様が違うかもしれません


3 ● ngsw
●50ポイント

DATE =`date -d ${count}' days ago' +%Y%m%d`

ではなく

DATE=`date -d ${count}' days ago' +%Y%m%d`

で以下の動作を確認しました。

"DATE=" で "DATE ="だと期待通りの動作をしませんでした。

Cygwin bash です。


20081129

20081128

20081127

20081126

20081125

20081124

20081123


ちなみに

date -d 7'days ago'

date -d '7 days ago'

はどっちでも動作しました。

◎質問者からの返答

イコールの前のスペース消したら動きました。

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ