2014年3月17日月曜日

nkfを使用してファイルの文字コードを一括で変換する

nkfを使用して文字コードを一括で変換する

Java プロジェクトを整理にした時に、SHIFT_JISからUTF-8へ文字コード変換した時のメモ。

変換コマンド

find . -iname "*.java" -type f | xargs -n 10 nkf -S -w --overwrite

メモ

念の為にファイルを指定して実行した方がよい。
やったときは、設定ファイルとかも変な感じに変換されたのでおかしくなり、何度かやり直してしまった。。。


簡単な説明

find

再帰的にjavaファイルのみを指定している。

-iname

*.java javaファイルのみに絞る

-type f

ファイルのみに絞る

-type ファイルタイプを指定。タイプにはd(ディレクトリ)、f(ファイル)、l(シンボリックリンク)を指定
source: find - ファイル検索コマンド

xargs -n 10

findの結果を10件ずつ処理する

nkf

文字コード変換

-S -w

シフトJISからUTF-8へ変換する

–overwrite

変換結果でファイルを上書きする


おまけ

nkfの文字コード対応表

文字コード 変換前 変換後
ISO-2022-JP -J -j
Shift_JIS -S -s
EUC-JP -E -e
UTF-8 -W -w

source: nkf –help

 j/s/e/w  Specify output encoding ISO-2022-JP, Shift_JIS, EUC-JP
          UTF options is -w[8[0],{16,32}[{B,L}[0]]]
 J/S/E/W  Specify input encoding ISO-2022-JP, Shift_JIS, EUC-JP
          UTF option is -W[8,[16,32][B,L]]

Written with StackEdit.

  • この記事をシェアする

  • このエントリーをはてなブックマークに追加
  • このブログの更新をチェックする

  • follow us in feedly