检查域头curl和grep

时间:2013-10-28 22:16:50

标签: curl grep

我是初学者。我正在检查域列表上的HTTP标头。如果grep成功,以下工作。如果不是,则循环在同一行上打印下一行的结果。我希望它在域之后打印错误“000”,然后如果grep找不到HTTP则转到新行。我试过if else fi但是我在else部分得到了一个错误。

    filename="$1"
    while read -r line
    do
        domain=$line
        printf "$domain," 
        curl -m3 -I http://www."$domain" 2>&1 | grep "HTTP/" | awk '{print $2}'   
    done < "domains.txt"   

1 个答案:

答案 0 :(得分:0)

演示:

$ bash curl.sh
free.fr 301
google.com 302
foobar.tld error 000

输入文件domains.txt:

free.fr
google.com
foobar.tld

剧本:

while IFS= read -r line
do
    domain="$line"
    tempvar=$(curl -m3 -I "http://www.$domain" 2>&1 |
        awk '/HTTP\//{print $2}')
    # testing if $tempvar exists (not null)
    if [[ $tempvar ]]; then
        echo  "$domain $tempvar"
    else
        echo >&2 "$domain error 000"
    fi
done < "domains.txt"