入力から過去5日の日付を取得する(コマンドラインを読む)

入力から過去5日の日付を取得する(コマンドラインを読む)

ユーザー入力データから過去5日間のデータを取得するスクリプトがあります。

例:

Choose the month: 
1 - Jan
2 - Feb
...
12- Dec  // I used if else here 

Insert day:
30

私の予想結果は次のとおりです。

Jun 30
Jun 29
Jun 28
Jun 27
Jun 26

可能ですか?コマンドを確認してみましたが、date今日受け取った日付のみコピーして-dコマンドを使用できますね。確認したい日付を入力できません。

ベストアンサー1

GNUの使用date(1):

start_day=3
start_month=Jun
for d in {0..4}; do
    date -d "$start_month $start_day - $d days" +'%b %d'
done

出力:

Jun 03
Jun 02
Jun 01
May 31
May 30

GNUなしで同じことをするdate(1)ことは可能ですが、おそらくもっと痛いでしょう。

おすすめ記事