如何获取文件并另存为域名?

How to wget files and save as domain name?

这是我目前运行 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

有谁知道有什么简单的方法可以做到这一点,这样我仍然可以运行并行处理它吗?

您可以先转换 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}'