エスケープされた日本語文字列をデコードしたい


TwitterのデータのようにJSON形式で取得されたものは、日本語などマルチバイト文字がすべて"\uHHHH"のようなユニコードの16進表現でエンコードされています。  
これをOS Xの標準環境、できればシェルスクリプトで配りたいのですが、この制約の中で出来る良い方法がないか探しています。

当初は、 <http://qiita.com/kumazo@github/items/39500f259500a424800b>  
を参考にして挑戦したのですが、 /usr/bin/printf でもデコードできませんでした。




<https://stackoverflow.com/questions/6319421/do-all-mac-
os-x-10-6-installations-have-perl-installed-by-default>

を読むにOSXでは、perlが使えると思いますので、

<https://stackoverflow.com/questions/8795702/how-to-convert-uxxxx-unicode-to-
utf-8-using-console-tools-in-nix>

の中段にある

[code]

    #!/usr/bin/perl
    
    use strict;
    use warnings;
    
    binmode(STDOUT, ':utf8');
    
    while (<>) {
        s/\\u([0-9a-fA-F]{4})/chr(hex($1))/eg;
        print;
    }
    
[/code]

<https://stackoverflow.com/a/8796595/718426>

が使えるんじゃないかなと思うのですが、いかがでしょう。




<https://stackoverflow.com/questions/6319421/do-all-mac-
os-x-10-6-installations-have-perl-installed-by-default>

を読むにOSXでは、perlが使えると思いますので、

<https://stackoverflow.com/questions/8795702/how-to-convert-uxxxx-unicode-to-
utf-8-using-console-tools-in-nix>

の中段にある

[code]

    #!/usr/bin/perl
    
    use strict;
    use warnings;
    
    binmode(STDOUT, ':utf8');
    
    while (<>) {
        s/\\u([0-9a-fA-F]{4})/chr(hex($1))/eg;
        print;
    }
    
[/code]

<https://stackoverflow.com/a/8796595/718426>

が使えるんじゃないかなと思うのですが、いかがでしょう。

