2013-04-21 509 views
17

我一直在试图创建一个简单的脚本,它将从.txt文件中获取查询列表,附加主url变量,然后刮取内容并将其输出到文本文件。使用curl通过网址循环的Shell脚本

这是我到目前为止有:

#!/bin/bash 

url="example.com/?q=" 
for i in $(cat query.txt); do 
    content=$(curl -o $url $i) 
    echo $url $i 
    echo $content >> output.txt 
done 

列表:

images 
news 
stuff 
other 

错误日志:

curl: (6) Could not resolve host: other; nodename nor servname provided, or not known 
example.com/?q= other 

如果我直接使用此命令在命令行中我得到一些输出到文件中:

curl -L http://example.com/?q=other >> output.txt 

最终我想输出是:

fetched: http://example.com/?q=other 
content: the output of the page 

followed by the next query in the list. 

回答

3

你有嵌套的报价,尝试这样的事情:

#!/bin/bash 

url=https://www.google.fr/?q= 
while read query 
do 
    content=$(curl "{$url}${query}") 
    echo $query 
    echo $content >> output.txt 
done < query.txt