gpt4 book ai didi

bash - wget 用原始名称重命名

转载 作者:行者123 更新时间:2023-12-04 18:54:25 26 4
gpt4 key购买 nike

我正在使用 bash 脚本来运行类似下面的内容

for i in {1..50}; 
do
wget --content-disposition `http://example.com/getfile.php?id={$i}`
done

然后我可以得到文件
abc.mp3
abc.jpg
abc.png
...

但我想将 id 扩展到文件,如
1-abc.mp3
2-abc.jpg
3-abc.png
...

我可以使用 wget -o将文件重命名为 {$i}-{$orignalName.orignalExtention}

最佳答案

首先你应该使用 HEAD用于检索 originalName 的 HTTP 调用,例如:

  • -S --spider --content-disposition wget 的选项
  • -I -L cURL 的选项

  • 例如:
    originalFileName=$( wget --content-disposition -S --spider "http://example.com/getfile.php?id={$i}" |& grep "Content-Disposition" |sed -e 's/^.*filename=//' )

    然后只需使用 -O 选项,并使用刚刚获得的 originalName 构建本地文件名和 i你已经拥有了。

    使用您的脚本,它将给出:
    for i in {1..50}; 
    do
    originalFileName=$( wget --content-disposition -S --spider "http://example.com/getfile.php?id={$i}" |& grep "Content-Disposition" |sed -e 's/^.*filename=//' )
    wget `http://example.com/getfile.php?id={$i}` -O "$i-$originalFileName"
    done

    关于bash - wget 用原始名称重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54250895/

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