1

我找到了一个网站,其中托管了一些我想要的文件,太多了,无法单独下载它们。文件名采用相当标准且可重现的形式,即 1_a、1_b、1_c 等

有没有办法在 linux 命令行中使用 wget 自动下载它们?我可以轻松地将文件名放在每行 1 个条目的文本文件中,并指示命令行从那里查找,但它不会是整个 url,只是更改的位,因此命令需要看起来像:

wget url.com/files/(来自文件的位).doc sourcefile.txt

并且基本上能够将源文件中的条目替换为括号中的位。

此外,在一个阶段,一大块(几百个)文件只是按顺序编号,所以我可以为那个位使用 for 循环吗?如果是这样,我将如何在命令行中以语法方式执行此操作?

非常感谢。

4

3 回答 3

3

您可以使用大括号扩展:

wget x.com/files/1_{a..z}.doc

如果需要,您可以组合它:

wget x.com/files/{1..10}_{a..z}.doc
于 2013-07-19T19:38:43.057 回答
0
while read fn
do
    wget "url.com/files/$fn.doc"
done < sourcefile.txt
于 2013-07-19T19:36:08.100 回答