如何在bash脚本中为从curl下载的文件名添加时间戳?

6ovsh4lw  于 2023-10-19  发布在  其他
关注(0)|答案(2)|浏览(114)

我正在使用bash脚本和curl从服务器下载文件。我正在尝试将格式为$(date +"%y-%m-%d")date添加到将要下载的文件中。下面是我的curl call

curl --fail -S -O -C - --location "${HEADERS[@]}" -X GET "$url"

使用上述调用,文件下载正常(例如文件名:现在我想在文件中添加日期。我想如果我们使用-o选项,那么我们可以像curl -o test-$(date +"%y-%m-%d").txt一样添加它,但在我的情况下,我想存储文件名,因为它是从远程文件名。是否可以使用-O选项进行相同的操作?另外,如果我们将日期添加到远程文件名,它会影响-C -选项吗?我们还能继续中断下载功能吗?
预期输出:下载后过滤:test-YYYY-MM-DD.txt
P.S:请让他们知道,如果任何信息丢失。我工作的Ubuntu和脚本将是BusyBox系统的一部分。另外,如果这个问题更像是一个讨论,我很抱歉。

jbose2ul

jbose2ul1#

您可以使用:用途:

$ url="https://example.com/media/document.txt"
$ curl -o "$(basename ${url%.*}-$(date +"%Y-%m-%d").${url##*.})" -s "$url" -C -

是否可以恢复传输取决于服务器是否支持字节范围(您可以通过省略-s进行检查)。

jchrr9hc

jchrr9hc2#

我会怎么做:

file=subscriptionList.opml 
curl -o "${file%.*}_$(date +%Y-%m-%d).${file#*.}" -s "$url" -C -
ls
subscriptionList_2023-05-11.opml

相关问题