- 2008-01-12 (土) 0:00
- Linux
Linux系OSのfedora6のデフォルト文字コードはUTF8なので、先日久々に参照したEUCのC++ソースコード中のコメントや出力が文字化けしていました。
そこで、ファイルの文字コードをEUCからUTF8に変換するコマンドを調べたところ、PHPプロ!TIPS+のページの中程にそれに関するコマンドがあったので参考にしました。
$find -name '*.cc' | xargs nkf --overwrite -w
↑は拡張子がccの全てのテキストファイルの文字コードをutf8に変換します。
$find . -type f -print0 | xargs -0 nkf --overwrite -w -Lu
↑このコマンドの意味を簡単に示しますと、まずファイルを検索するfindコマンドで、カレントディレクトリ「.」から通常ファイル「-type f」を探索し出力します「-print0」(常に真)。
% find [検索開始ディレクトリ] (option)
参考:UNIXコマンド [find]
ここで、findコマンドの結果をパイプ「|」をもって渡し、そこでxargsでコマンドを実行します。ここでxargsは以下の機能を持ちます。
xargs[えっくす・あーぐす]
標準入力から引数を読み込み、指定のコマンドを実行するコマンド
参考:UNIXの部屋 検索:xargs (*BSD/Linux/Solaris)
文字コード変換コマンドである nkf のオプション--overwriteは変換した文字コードのデータを元のファイルに上書きするもので、-wが文字コードをUTF8に指定するものです。ちなみに、EUCに変換したい場合は-e、Windowsで使われているSJISにする場合は-sを代わりに指定します。
最後の-Luオプションは改行コードをLFに指定するものです。
関連記事
- ユーザー管理に関するLinuxコマンド
- sshdのログファイルの確認方法
- Apacheでよく使うコマンドと設定項目
- FedoraにGUI環境GNOMEをyumでインストール
- Rubyで文字列から日本語文字をインデックス指定する
- Newer: 10進数を2進数に変換表示するC言語プログラム
- Older: Eclipse+CDTを用いてプロジェクトを作成する際の注意点
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.yukun.info/blog/2008/01/euc-to-utf8.html/trackback
- Listed below are links to weblogs that reference
- Linuxコマンドで複数ファイルの文字コードを一括変換 from Yukun's Blog