Script di Shell utilizzando curl per il ciclo url

Sto cercando di creare un semplice script che avrà un elenco di query da una .il file txt, aggiungere l’url principale variabile, quindi raschiare il contenuto e l’output in un file di testo.

Ecco ciò 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

elenco:

images
news
stuff
other

log di errore:

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 riga di comando mi viene l’output nel file:

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

In definitiva vorrei che l’output sia:

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

followed by the next query in the list.

 

2 Replies
  1. 4

    Hai citazioni nidificate, provare qualcosa di simile a questo:

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

Lascia un commento