如何获取文件并另存为域名?
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}'
这是我目前运行 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}'