Скрипт для загрузки списка URL - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть скрипт оболочки, который скачивает URL-адреса один за другим и проверяет наличие обновлений на статических сайтах. Вот код:

#!/bin/bash

input="file.in"

while IFS= read -r line
do  
    # check if input line is a comment  
    case "$line" in \#*) continue ;; esac         

    line2="${line//\//\\}"

    if wget -q "$line" -O index.html > /dev/null; then
        if [ -f "$line2.html" ]; then
            cmp --silent "$line2".html index.html || echo "$line"
        else    
            echo "$line INIT" 
        fi          
    else
        echo "$line FAIL"
    fi  
    mv index.html "$line2".html  
done <"$input"

file.in - список с URL-адресами,Пример:

#List of addresses
http://www.google.com
http://www.spotify.com
http://www.flickr.com
http://www.soundcloud.com
https://www.facebook.com
https://en.wikipedia.org/wiki/Linux

И я хочу изменить скрипт, чтобы загружать все URL-адреса одновременно и сохранять их таким же образом с помощью wget или curl.спасибо!

1 Ответ

0 голосов
/ 26 ноября 2018

Наивный подход:

while IFS= read -r line
do  
    [[ "$line" == \#* ]] && continue
    (
        line2="${line//\//\\}"
        if wget -q "$line" -O index.html > /dev/null; then
            if [ -f "$line2.html" ]; then
                cmp --silent "$line2".html index.html || echo "$line"
            else    
                echo "$line INIT" 
            fi          
        else
            echo "$line FAIL"
        fi  
        mv index.html "$line2".html  
    ) &
done <"$input"
wait
echo "all done"
...