我在 .txt 文件中有一个 URL 列表 - 我应该从中获取内容。为了实现这一点,我决定使用 cURL。使用xargs curl < url 列表.txt,我可以在我的终端中显示 URL 的所有内容。使用curl -o myFile.html www.example.com,我只能保存 1 个文件。
还有curl -O URL1 -O URL2但对于我来说这需要花费太长时间。
我如何保存多个文件立刻?
编辑:
#!/bin/bash
file="filename"
while read line
do
curl -o "$line.html" "$line"
done < "$file"
我运行了上面的 bash 屏幕,发生了以下情况:
答案1
建立一个 bash 脚本来循环遍历你的 URL 列表并执行 curl 命令。
#!/bin/bash
file="filename"
while read line
do
outfile=$(echo $line | awk 'BEGIN { FS = "/" } ; {print $NF}')
curl -o "$outfile.html" "$line"
done < "$file"
答案2
虽然最简单的方法是按照@dan08的建议创建一个循环脚本,但如果您需要下载的链接是连续的,例如:
http://www.host.com/page-1.html
http://www.host.com/page-2.html
等等,你可以像这样使用 curl 命令:
curl "http://www.host.com/page-[1-30].html" -o "# 1.html" #(30 is indicative)
这将连续创建文件,使用当前范围的值代替文件名中的 #1。