- ベストアンサー
文字コードの変換方法
お世話になります。 サーバ上で生成した、文字コードがEUCのテキストファイルをSJISに文字コードを変換したいのですが、nkfコマンドが使用できません。 nkfコマンドを使用せず、EUC⇒SJISへ文字コードを変換する方法をご教示頂けますでしょうか。 また文字コードを変更すれば改行コードの変更はしなくてもいいのでしょうか。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
文字コードについては、下記の解決策があります。 1. nkfを入手する 2. iconvコマンドで変換する <例> % iconv -f EUC-JP -t Shift_JIS < infile.txt > outfile.txt なお文字コードは改行コードとは別物です。
その他の回答 (2)
- sakusaker7
- ベストアンサー率62% (800/1280)
あー、perlは(POSIXとかSUSでいうところの)UNIXの一部じゃないですからねえ。 ただし、perlがインストールされているのであれば、 perlが独自に持っているオンラインドキュメントが参照できるようになっていると思います。 とりあえずコマンドラインで perldoc perlrun とか perldoc perldoc ってやってみてください。 前者でコマンドラインオプションなどの説明、 後者はオンラインドキュメントの使い方などがわかります。 perldoc.jp にいって探してみれば、日本語化されている ドキュメントもありますのでどうぞ。
お礼
ご回答ありがとうございます。 お教え頂いたドキュメント参考にします。
- sakusaker7
- ベストアンサー率62% (800/1280)
改行コードの変換ですが、dos2unixとかunix2dos という名前のコマンドはありませんか? それからPerlでやる場合ですが、 perl -pi.bak -e 's/\n/\r\n/' file ではどうでしょう? #バックアップファイルを作って直接書き換えます
お礼
ご教示頂いたperl -pi.bak -e 's/\n/\r\n/' file で実行しましたら、改行コードの変換ができました。 助かりました! ありがとうございます。 perlってunixのコマンドリファレンスでいくら調べても出てこないのですが・・・。 宜しければ、perlコマンドの使用方法が載っているサイトなどありましたら お教えいただけませんでしょうか。 重ねてのお願いで申し訳ありませんが、宜しくお願い致します。
お礼
>2. iconvコマンドで変換する を実行しましたら、無事文字コードの変換ができました! 購入したコマンドリファレンス本に最初からiconvコマンドが載っていればよかったのですが・・・。 「文字コード 変換」等のキーワードでネットで検索してもiconvコマンドはヒットしなかったので、本当に助かりました。 ありがとうございました。 ただ、改行コードの変換を行うにはどうしたらいいでしょうか。 % perl -pe 's/\n/\r\n/'や trコマンドで変換を試みましたが、駄目でした。