yuu_nkjm blog
2010-10-28(Thu) [長年日記]
[Linux][command][Script][find][nkf] findとnkfを使って,ファイルの文字コードを一括変換
ディレクトリorig以下の文字コードを一括変換したものを,new以下に格納する場合を考える.
origを全コピーする.これにより,ディレクトリをコピーする.
cp -a orig newrun.shを作成.
find ./orig -type f \( -name '*.java' -or -name '*.xml' \) -printf 'nkf -S -w %p > new/%P\n' > run.shnkfの-Sは入力がShift-JIS,-wはUTF出力である.改行コードをUNIX改行(LF)に変更したい場合は,-Luをつける.中身を確認して,run.shを実行する.
他にも,sedにファイルを喰わせても色々出来る.
find ./orig -type f \( -name '*.java' -or -name '*.xml' \) -printf 'sed s/charset=Shift_JIS/charset=utf-8/ %p > new/%P\n' > run.sh
最初はxargsを引数を一つずつ実行するオプションをつけて使おうと思ったけど,参考記事の様にfindに直接コマンドを実行させた方が分かりやすいと思った.リダイレクトを使って結果を書き出そうとすると,リダイレクト先のディレクトリが存在しないといけない.これも参考記事の様に,cp -aでコピーをとって,そこに流し込むようにすれば,間違えなさそう.
コピペ用
Javaのソースコード+XML変換.Shift-JIS→UTF-8
cp -a orig new find ./orig -type f \( -name '*.java' -or -name '*.xml' \) -printf 'nkf -S -w %p > new/%P\n' > run.sh . run.sh
なんでも変換.EUC→UTF-8
cp -a orig new find ./orig -printf 'nkf -E -w %p > new/%P\n' > run.sh . run.sh
手抜き
オプション -w utf-8 -s shift-jis -e euc-jp -Lu UNIX(LF) -Lw Windows(CR+LF) nkf -w -Lw --overwrite *.java
- https://www.google.co.jp/ ×146
- https://www.google.com/ ×3
- https://www.google.com/search ×2
- http://search.babylon.com/?q=nkf 一括&babsrc=HP_Prot... ×1
- http://jp.hao123.com/yahoo_search?query=shell+ファイル... ×1
- http://search.fenrir-inc.com/?hl=ja&channel=sleipn... ×1
- https://www.bing.com/ ×1
- http://search.yahoo.co.jp/ ×1
- find nkf ×12 / eclipse 文字コード 一括変換 ×7 / nkf 一括 ×6 / java nkf ×3 / シェルスクリプト ディレクトリ内のファイルの文字コードを一括変換 ×3 / nkf 大量 変換 ×3 / nkf 一括変換 ×3 / find 文字コード ×3 / ant nkf ×3 / find name nkf ×2 / nkf shift-jis find ×2 / html shift-jis utf-8 一括変換 ×2 / nkf 一括 svn ×2 / nkf バッチ 動かない ×2 / find sh 文字コード ×2 / sun nkf ×2 / ファイル 文字コード 一括 ×2 / find 文字化け ×2 / 改行コード 変換 シェル 一括 -perl ×2 / nkf 文字コード 一括 ×2 / 文字コード 一括変換 xml ×2 / ファイルを検索し、文字コードを変換する nkf 一括変換スクリプト ×1 / find 一括 -e ×1 / バッチ 文字コード変換 ×1 / eclipse nfk sjis utf-8 変換 ×1 / find sed nkf ×1 / nkf 一発変換 ×1 / suselinux xmlファイルの文字コード確認 ×1 / nkf 一括 文字コード 変換 ×1 / nkf 全ファイル ×1 / nkf ディレクトリ 文字コード 変換 ×1 / 文字変換 android JIS -sjis -SJIS ×1 / Javaソースコード 文字コード 変換 nkf ×1 / FIND cmd 改行コード ×1 / nkf xml ×1 / csh ファイル 文字コード 一括変換 ×1 / 文字コード 変換 一括 nkf ×1 / nkf find ×1 / linkstation 文字化け ps3 shift-jis ×1 / ディレクトリ エンコード 一括 変換 nkf ×1 / 文字コードを一括で文字に変換 java ×1 / 一括変換 文字コード ×1 / nkf 一括返還 ×1 / nkf まとめて find ×1 / nkf バッチファイル ×1 / UNIX NKF 変換エラー ×1 / nkf 文字コード まとめて変換 ×1 / nkf ディレクトリ ×1 / nkf --overwrite 一括 ×1 / linux nkf 改行コード 一括 変換 ×1 / nkf sjis 一括 ×1 / nkf 文字コード 一括変換 ×1 / vagrant nkf ×1 / nkf 一括変換 %p ×1 / nkf 改行コード 一括変換 ×1 / win7 sqlite3 ruby shift-jis utf-8 ×1 / nkf utf 変換 一括 ×1 / スクリプト find 一括 ×1 / nkf --overwrite 一括変換 ×1 / find nkf コピー ×1 / 文字コード 変換 nkf find ×1 / unix 改行コード 一括変換 tr ×1 / nkf sed find ×1 / nkf find 一括 ×1 / 文字コード 一括 変換 ×1 / Linux nkf 速度 ×1 / 一括 文字変換 find ×1 / bash ファイルの文字コード ×1 / 文字コード 一括変換 シェル ×1 / excel 改行コード find -VBA ×1 / eclipse 改行コード 一括 ×1 / 文字コード ファイル 一部 ×1 / printf sh 文字コード ×1 / 改行コード 一括変換 windows ×1 / nkf utf8 変換 find ×1 / nkf リダイレクト ×1 / find nkf 文字コード eclipse ×1 / nkf コマンド ディレクトリ 無変換 ×1 / 一括して文字コード変換 nfk ruby ×1 / 文字コード nkf 一括 ×1 / nkf ×1 / nkf 変換 ディレクトリ ×1 / xml nkf ×1 / 改行コード 一括変換 find ×1 / eclipse 文字コード 改行 一括変換 ×1 / eclipse 文字コード 一括 ×1 / 文字コード 一括変換 ×1 / linux find 文字コード ×1 / nkf 一括変換 windows ×1 / バッチ "文字コード" "リダイレクト" 変更 ×1 / 改行コード find ×1 / 文字コード一括変換 シェル ×1 / linux find 文字コード一括変換 ×1 / maven nkf ×1 / シェル 入力ファイル sjis ×1 / 文字コード 判別 nkf 一括 ×1 / nkf ディレクトリ 文字コード ×1 / eclipse 文字コード変換 ×1 / nkf 複数テキストファイルの文字コードを一括変換 ×1 / shell 文字コード変換 一括 ×1