这是我目前正在运行的wget文件:
parallel -a list.txt --jobs 100 wget -P /home/files/
list.txt
文件包含一个文件列表,例如:
example.com/test.html
anotherexample.com/test.html
sample.com/test.html
但是,它显然希望将每个文件保存为test.html
。
我要做的是弄清楚如何编辑上面的命令,将每个文件保存为域名。因此它应该将其保存为/
符号之前的文本。像这样:
example.com
anotherexample.com
sample.com
有没有人知道任何简单的方法,所以我仍然可以并行运行它?
答案 0 :(得分:0)
您可以先转换list.txt
中的地址,并明确指定wget
的输出文件,例如:
parallel -a list.txt --jobs 100 'g=$(echo {1} | tr "/" "_");wget -P /home/files -O $g {1}'
此处,{1}
代表parallel
从输入列表中提取的参数,所有/
只是替换为_
。要仅保留第一个/
之前的字符,可以执行
parallel -a list.txt --jobs 100 'g=$(echo {1} | sed "s#/.*##");wget -P /home/files -O $g {1}'