• ベストアンサー

nkfで全ファイルを変換する

ネットで配布されているサンプルのJavaのソースコードが あるのですが、それが全部EUCではないので、EUCに 変換したいのです。 aというディレクトリの中に01から16、Rensyu というディレクトリがありその各々のディレクトリの 中に.javaとついたサンプルコードが入っています。 これをいっぺんに変換するのに nkf -e * > sample などとすると一つのファイルに全部変換後の ファイルがかかれてしまうので、 たとえばSampele1.javaだったらそれと同じ 名前のファイルに書き出すか、また Sample1_e.java というファイルに書き出したいです。 どうしたらいいでしょうか?おねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.3

>nkf -e -OW * >と実行しましたが、何もファイルの中身は >変わっていません。 manコマンドで、nkfの使い方を確認してみてください。 -OWの説明がない場合は、残念ながら上書きモードをサポート していないnkfですので、#2さんのスクリプトなどで変換して ください。 ちなみに、RedHat9のnkfコマンドは上書きモードをサポート しています。 # man nkf -O ファイルに出力する。Unixでは不要な機能だがWindowsやMSDOS   では必要らしい。直後の引き数でなく、最後のファイル名が 出   力 ファイル名となり上書きされてしまうので注意。ファイル名   がない場合は、 nkf.out。-OW では、元のファイルを変換結果   で置き換える。複数のファイルを書き換えることも可能。

Judau_MSZ-010
質問者

お礼

ありがとうございます。

その他の回答 (2)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.2

#!/bin/sh for file in `find . -name "*.java"` do newfile=`echo $file | sed s/.java/_e.java/` nkf -e $file > $newfile done

Judau_MSZ-010
質問者

お礼

ありがとうございます。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

上書きオプション(-OW)のあるnkfコマンドなら簡単です。 http://www.idg.co.jp/lw/weekly_1/031117/

Judau_MSZ-010
質問者

お礼

ありがとうございます。

Judau_MSZ-010
質問者

補足

nkf -e -OW * と実行しましたが、何もファイルの中身は 変わっていません。文字化けしたまんまです。 お願いします。

関連するQ&A