我找到了一个网站,其中包含了我之后的一些文件,有太多的文件可以单独下载。文件名采用相当标准和可重复的形式,即1_a,1_b,1_c等
在linux命令行中,有没有办法使用wget自动下载它们?我可以轻松地将文件名放在每行1个条目的文本文件中,并指示命令行从那里查找,但它不是整个URL,只是更改的位,所以命令需要看起来像:
wget url.com/files/(bit from file).doc sourcefile.txt
并且基本上能够在源文件中的条目中替换括号中的位。
此外,在一个阶段,大块(几百个)文件只是按顺序编号,那么我可以使用for循环吗?如果是这样,我将如何在命令行中进行语法处理?
非常感谢。
答案 0 :(得分:3)
您可以使用大括号扩展:
wget x.com/files/1_{a..z}.doc
如果需要,您可以将其合并:
wget x.com/files/{1..10}_{a..z}.doc
答案 1 :(得分:0)
while read fn
do
wget "url.com/files/$fn.doc"
done < sourcefile.txt
答案 2 :(得分:0)
使用bash / argument generator:
$ echo wget http://example.com/files_{1,2}_{a..d}
wget http://example.com/files_1_a http://example.com/files_1_b http://example.com/files_1_c http://example.com/files_1_d http://example.com/files_2_a http://example.com/files_2_b http://example.com/files_2_c http://example.com/files_2_d