2013-04-21 4 views
17

Ho cercato di creare uno script semplice che esegua un elenco di query da un file .txt, accoda la variabile url principale, quindi scriva il contenuto e lo manda in un testo file.Script della shell che utilizza il ricciolo per scorrere gli URL

Ecco quello che ho finora:

#!/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 

lista:

images 
news 
stuff 
other 

log degli errori:

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

Se io uso questo comando direttamente dalla linea di comando ho un po ' uscita nel file:

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

In ultima analisi vorrei l'output di essere:

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

followed by the next query in the list. 

risposta

3

hai, provare qualcosa di simile:

#!/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 
Problemi correlati