前の日付をコマンドライン引数として渡してスクリプトを実行する必要があります。自動化する必要があります。それでは、古い日付をスクリプトにどのように渡しますか?
たとえば、
sh processFile.sh previousdate previousdate
答え1
GNUの使用date
:
previousdate=$( date -d 'yesterday' +'%F' )
sh processFile.sh "$previousdate" "$previousdate"
macOSの場合date
:
previousdate=$( date -j -v -1d +'%F' )
sh processFile.sh "$previousdate" "$previousdate"
答え2
これを使用して前日を取得してパラメータとして渡すことができます。
date +%Y-%m-%d -d "1 day ago"
詳しくは、man
分と秒を操作できるページをご覧ください。date
答え3
これは働きます:
sh processFile.sh "$(date +"%Y-%m-%d" -d "yesterday")" "$(date +"%Y-%m-%d" -d "yesterday")"
答え4
存在するオープンBSD、FreeBSDとMacOSそしてBSDdate
、Illumosおよび他の非GNUシステム:
YESTERDAY="$(date -r $(expr $(date +%s) - $(expr 60 \* 60 \* 24)) +%Y-%m-%d)"
sh processFile.sh $YESTERDAY $YESTERDAY
GNU/Linux ではdate
GNU coreutils を使用します。
YESTERDAY="$(date -d-1day +%Y-%m-%d)"
sh processFile.sh $YESTERDAY $YESTERDAY