wget --post-dataで日付変数を使用する

wget --post-dataで日付変数を使用する

使いたいプロジェクトについて得る予約されたことデータファイルをダウンロードしてください。 wgetステートメントでは、開始日と終了日は次の形式で定義する必要があります。

wget --post-data="stns=235&vars=TEMP&start=YYYYMMDDHH&end=YYYYMMDDHH"

cron操作で実行したいので、開始日と終了日を自動的に設定したいと思います。より具体的には、開始日を「1時間前」に設定し、終了日を「今」に設定したいと思います。

投稿に同様の質問がありますwgetでdate-1dayを使用する。ここで提案された解決策は、一重引用符の間に変数を入れることです。ただし、この方法は機能しません。たとえば、

"[...]start='`date -d yesterday +%Y%m%d%H'&end=`date +%Y%m%d%H`"

ターミナルでwgetステートメントを実行しようとすると、「エラー400:誤った要求」エラーが発生します。

ありがとうございます。

ベストアンサー1

クローン操作では%特別なのでエスケープする必要があります。また、バックティック構文を使用しないことをお勧めします。私は以下を提案します:

wget --post-data="start=$(date ... +\%Y\%m\%d\%H)&end=$(date ... +\%Y\%m\%d\%H)&..."

おすすめ記事