日付変更スクリプト

日付変更スクリプト
#!/bin/sh

after=$(date - date "today - $(date +% d) days" +%Y-%m-%d)

now=$(date +%Y%m01) 

sed -i 's/20180301/'$now'/g' hyb.txt; 

sed -i 's/2018-02-28/'$after'/g' hyb.txt;

日付 20180301 および 2018-02-28 形式に変数を割り当てて、スクリプトと同じように変数を入力しないようにするにはどうすればよいですか?

ベストアンサー1

上記の意見では、私の仮定が正しいと仮定します。

# "now" == first day of this month: format YYYYmmdd
now=$( date "+%Y%m01" )

# "after" == last day of previous month: format YYYY-mm-dd
after=$( date -d "$now - 1 day" "+%Y-%m-%d" )

echo "now=$now"         # now=20190901
echo "after=$after"     # after=2019-08-31

おすすめ記事