- ベストアンサー
nkfで全ファイルを変換する
ネットで配布されているサンプルのJavaのソースコードが あるのですが、それが全部EUCではないので、EUCに 変換したいのです。 aというディレクトリの中に01から16、Rensyu というディレクトリがありその各々のディレクトリの 中に.javaとついたサンプルコードが入っています。 これをいっぺんに変換するのに nkf -e * > sample などとすると一つのファイルに全部変換後の ファイルがかかれてしまうので、 たとえばSampele1.javaだったらそれと同じ 名前のファイルに書き出すか、また Sample1_e.java というファイルに書き出したいです。 どうしたらいいでしょうか?おねがいします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>nkf -e -OW * >と実行しましたが、何もファイルの中身は >変わっていません。 manコマンドで、nkfの使い方を確認してみてください。 -OWの説明がない場合は、残念ながら上書きモードをサポート していないnkfですので、#2さんのスクリプトなどで変換して ください。 ちなみに、RedHat9のnkfコマンドは上書きモードをサポート しています。 # man nkf -O ファイルに出力する。Unixでは不要な機能だがWindowsやMSDOS では必要らしい。直後の引き数でなく、最後のファイル名が 出 力 ファイル名となり上書きされてしまうので注意。ファイル名 がない場合は、 nkf.out。-OW では、元のファイルを変換結果 で置き換える。複数のファイルを書き換えることも可能。
その他の回答 (2)
- astronaut
- ベストアンサー率58% (303/516)
#!/bin/sh for file in `find . -name "*.java"` do newfile=`echo $file | sed s/.java/_e.java/` nkf -e $file > $newfile done
お礼
ありがとうございます。
- xjd
- ベストアンサー率63% (1021/1612)
上書きオプション(-OW)のあるnkfコマンドなら簡単です。 http://www.idg.co.jp/lw/weekly_1/031117/
お礼
ありがとうございます。
補足
nkf -e -OW * と実行しましたが、何もファイルの中身は 変わっていません。文字化けしたまんまです。 お願いします。
お礼
ありがとうございます。