gawk + nkf


ちょっと考えて見ました。こんな風にすればできるのですが、HTML に含まれている内容によっては正常に変換ができていませんね。echo を使うのはダメなのかなぁ。

#! /usr/bin/gawk -f
BEGIN {
    RS = ORS = "\r\n";
    url = "www.yahoo.co.jp";
    http = "/inet/tcp/0/" url "/80";
    print "GET http://" url "/" |& http;
    RS = ORS = "\n";
    while ((http |& getline) > 0) {
        cmd = "echo '" $0 "' | iconv -f EUC-JP -t SJIS";
        cmd | getline var;
        close(cmd);
        print var;
    }
    close(http);
}

実際には、 お腹が空いてきたのでWeb::Scraperでモスバーガーのメニューをスクレイピングで私が書いたスクリプトのように一度テンポラリに落とした方が間違いないかもしれません。というか、それって、nkf (iconv) を単独で使うのと差がないですね。
実際には、 きむらさんが書かれている gawk (xgawk) の拡張を使うのがベストだと思います。