重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

お世話になります。

サーバ上で生成した、文字コードがEUCのテキストファイルをSJISに文字コードを変換したいのですが、nkfコマンドが使用できません。

nkfコマンドを使用せず、EUC⇒SJISへ文字コードを変換する方法をご教示頂けますでしょうか。
また文字コードを変更すれば改行コードの変更はしなくてもいいのでしょうか。

宜しくお願い致します。

A 回答 (3件)

文字コードについては、下記の解決策があります。


1. nkfを入手する
2. iconvコマンドで変換する
<例>
% iconv -f EUC-JP -t Shift_JIS < infile.txt > outfile.txt

なお文字コードは改行コードとは別物です。
    • good
    • 1
この回答へのお礼

>2. iconvコマンドで変換する
を実行しましたら、無事文字コードの変換ができました!

購入したコマンドリファレンス本に最初からiconvコマンドが載っていればよかったのですが・・・。
「文字コード 変換」等のキーワードでネットで検索してもiconvコマンドはヒットしなかったので、本当に助かりました。

ありがとうございました。

ただ、改行コードの変換を行うにはどうしたらいいでしょうか。
% perl -pe 's/\n/\r\n/'や
trコマンドで変換を試みましたが、駄目でした。

お礼日時:2007/11/09 13:03

あー、perlは(POSIXとかSUSでいうところの)UNIXの一部じゃないですからねえ。


ただし、perlがインストールされているのであれば、
perlが独自に持っているオンラインドキュメントが参照できるようになっていると思います。

とりあえずコマンドラインで

perldoc perlrun

とか

perldoc perldoc

ってやってみてください。
前者でコマンドラインオプションなどの説明、
後者はオンラインドキュメントの使い方などがわかります。

perldoc.jp にいって探してみれば、日本語化されている
ドキュメントもありますのでどうぞ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
お教え頂いたドキュメント参考にします。

お礼日時:2007/11/09 18:28

改行コードの変換ですが、dos2unixとかunix2dos という名前のコマンドはありませんか?



それからPerlでやる場合ですが、

perl -pi.bak -e 's/\n/\r\n/' file

ではどうでしょう?
#バックアップファイルを作って直接書き換えます
    • good
    • 0
この回答へのお礼

ご教示頂いたperl -pi.bak -e 's/\n/\r\n/' file
で実行しましたら、改行コードの変換ができました。
助かりました!
ありがとうございます。
perlってunixのコマンドリファレンスでいくら調べても出てこないのですが・・・。
宜しければ、perlコマンドの使用方法が載っているサイトなどありましたら
お教えいただけませんでしょうか。

重ねてのお願いで申し訳ありませんが、宜しくお願い致します。

お礼日時:2007/11/09 16:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!