TakayukiKoyama Geek Blog

Create, Entertain, Experience

CentOS ファイルの文字コードを一括でUTF-8にする話

 Windows -> Linuxにファイル持ってきたとき、文字コードがShift-JISになってたせいで文字化けすることがある。

 放置することもあるが、コマンドで簡単に直るので、変換する癖をつけようと思うので作業メモ。

nkfコマンドを使う

 文字コード変換にはnkfコマンドを使うのだが、たぶん標準で入ってないので、インストールする。

$ sudo yum install nkf

カレントディレクトリ直下のファイルを一斉に変換

 下記のコマンドで一気に変換

$ find . -type f -print0 | xargs -0 nkf --overwrite -w -Lu

 補足:  ・find . -type f:カレントディレクトリからファイルを探す  ・-print0, -0:スペースを含むファイル名があるときスペースで区切らないようにする  ・xargs:ファイル名を受け取って、nkfに渡す。  ・--overwrite:ファイル名はそのままでいいので上書き  ・-w:utf-8に変換される  ・-Lu:改行コードもWindows用になってるかもしれないのでUnix(LF)に直す  

 ちなみに、1ファイルだけなら。

$ nkf --overwhite -w -Lu jis_to_utf.txt