使用 wget 从列表中下载文件但使用特定的命名模式保存

使用 wget 从列表中下载文件但使用特定的命名模式保存

这个问题相似的从列表下载文件但这和我想超越这一点不一样。请不要将其作为重复项关闭。

我在文本文件中有一个要下载的文件列表。我所在的目录中foo.txt有一个目录,我用它来下载文件。一切都很好。foowget -i ../foo.txt

然而,我需要要做的是下载具有特定命名模式的文件。它会将jsonAPI 调用生成的文件下载到特定服务器,但我需要将其保存为特定模式,例如foo_1.json,因为它实际上并未链接到文件,所以foo_1.json它不会将其保存为此类。

有什么方法可以扩展wget功能,以便按照特定的文件名模式(例如按顺序)保存下载的文件?

如果没有,可以使用其他 CLI 方法不是使用wget是可以接受的。

答案1

你总是可以使用 shell 循环:

while read url; do wget -O foo_$((++i)).json "$url"; done < list.txt

该文件list.txt是您的 URL 列表,每行一个。它由 while 循环读取,每个 URL 都保存为$url,wget 会下载它,-O标志会告诉它保存到名为 的文件中,foo_N.json其中 的N当前值是$i。由于$i每次迭代都会递增($((++i))),这将导致文件名序列不断增加。

相关内容