[Unix] wgetコマンドでスラッシュがひとつ消える
wgetは、URLを指定するとファイルをダウンロードしてくれるとても便利なツールです。
たとえば
wget http://www.hatena.ne.jp
とすると、はてなのトップページが、index.htmlとしてローカルに保存されます。
身近で使っている例としては、Mona Wikiを tar.gzしたものを定期的に cronで wgetしてもらって、バックアップとして活用するという使い方があります。
さて今日、ブックマークの人気エントリに挙がっているサイトのエントリーページをwgetしようとしたところ
wget "http://b.hatena.ne.jp/entry/http://www.hariguchi.org/yoichi/english-study.html"
まだブックマークされていないというHTMLが返ってきました。
よくよく調べてみると、引数で渡した「http://www.hariguchi.org/yoichi/english-study.html」に含まれる // が / 勝手に変換されてしまい全く違うURLになってしまっているようです。
どうもwgetの挙動が怪しそうだということで、新しいwgetを入れたら改善されました。
Wget 1.9+cvs-stable⇒ // が / と変換されてしまう。
Wget 1.10 ⇒ 意図通り動作する
新しいwgetのインストールですが、以下の通りです。
wgetでwgetをgetするのが面白いですね。
wget http://ftp.gnu.org/pub/gnu/wget/wget-1.10.tar.gz tar zvxf wget-1.1.tar.gz cd wget-1.10 ./configure make make install