日付コマンドの変数

日付コマンドの変数

dateコマンド内で変数を使用したいと思います。私のシステムはGNU日付をサポートしていません。私はSunosを使用していますが、datewithオプションを使用すると誤った代替項目として-d表示されます。-d

#!/usr/bin/ksh
RELEASE_DATE="28 OCT 2018" 
RELEASE_DATE_MINUS_2=`date -"${RELEASE_DATE: -2} ${RELEASE_DATE:4:3} ${RELEASE_DATE:0:4} - 2 days" '+%Y-%m-%d'`
echo "Release is $RELEASE_DATE" 
echo "release_date-2 is $RELEASE_DATE_MINUS_2

上記のコードスニペットを試してみました。release_dateこの入力など、他のファイルから取得した実際のデータを渡す必要があり、その日付の2日前にそのような入力を受け取る必要があります。.cnf28OCT20182018-10-26

ベストアンサー1

シェルを含むzsh:

zmodload zsh/datetime
rel_date=2018OCT28
strftime -rs d %Y%b%d.%H $rel_date.12 &&
  strftime -s two_days_before %Y-%m-%d $((d - 86400*2)) || exit

echo $two_days_before

おすすめ記事