ablog

不器用で落着きのない技術者のメモ

あるディレクトリ以下のファイルを再帰的に検索して文字コードを調べる Perl ワンライナー

zsh + Perl で あるディレクトリ以下のファイルを再帰的に検索して文字コードを調べるワンライナーを書いてみた。

% perl -0777 -MEncode::Guess -wne '$e=guess_encoding($_,qw/euc-jp shiftjis 7bit-jis/);print "$ARGV:".$e->name."\n" if(ref($e))' **/*  

実行結果はこんな感じ。

..
index.css:shiftjis
index.html:UTF-32LE
..
template/list.txt:shiftjis
..

「**/*」は zsh のファイルグロブ機能で、「*, */*, */*/*, ...」と再帰的に検索してくれる。


[参考]
Encode::Guess - Guesses encoding from data - metacpan.org
ウェブテコでzshについて発表したので資料を公開する - mollifier delta blog