gpt4 book ai didi

shell - Unix 使用基于 wget 变量的格式化日期

转载 作者:行者123 更新时间:2023-12-04 19:08:51 28 4
gpt4 key购买 nike

我有一个脚本,我用 cron 安排在工作日。该脚本使用 wget 每个工作日下载文件。 url 是基于日期的动态的。我创建了以下脚本:

day_or_weekend=`date +%w`
if [$day_or_weekend == 1] ; then
look_back=3
else
look_back=1
fi

wget -O file_name_`date +%Y%m%d`.csv https://website/filename/date/`date $look_back days ago + %Y-%m-%d`/type/csv

此脚本生成具有正确名称的文件,但内容为空。我对编写 bash shell 脚本很陌生,所以我不确定如何调试它。所以我的问题是:
  • 我是否在定义 look_back变量正确吗?
  • 我是否正确地将日期参数添加到 wget url?
  • 最佳答案

    这应该可以解决您的空白问题。命令行对间距和引用非常讲究。

    wget -O "file_name_$(date +%Y%m%d).csv" \
    "https://website/filename/date/$(date -d "$look_back days ago" +%Y-%m-%d)/type/csv"

    只要您使用busybox或GNU日期,您确定前一个工作日的逻辑就会按设计运行(BSD日期必须从纪元表示中减去以秒为单位的时间,基本的Posix日期实际上不能这样做)。

    关于shell - Unix 使用基于 wget 变量的格式化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62174748/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com