ダウンロード URL のリストを読み取って、まだアクティブかどうかを確認するシェル スクリプトを作成しようとしています。現在のスクリプトの何が問題なのかわかりません (私はこれが初めてです)。ポインタがあれば非常に役立ちます!
user@pc:~/test# cat sites.list
http://www.google.com/images/srpr/logo3w.png
http://www.google.com/doesnt.exist
notasite
脚本:
#!/bin/bash
for i in `cat sites.list`
do
wget --spider $i -b
if grep --quiet "200 OK" wget-log; then
echo $i >> ok.txt
else
echo $i >> notok.txt
fi
rm wget-log
done
そのまま、スクリプトはすべてを notok.txt に出力します (最初の Google サイトは ok.txt に移動する必要があります)。しかし、私が実行した場合:
wget --spider http://www.google.com/images/srpr/logo3w.png -b
そして、次のようにします。
grep "200 OK" wget-log
問題なく文字列をgrepします。構文でどのような間違いを犯しましたか? ありがとうm8s!