DOSファイルをUnixファイルへ変換する方法

Lucy


パッケージに含まれるすべてのjavaファイルについて、SJIS->EUCとCRLF->LFの2つの変換をすることになりました。

まず、Ant 1.5.3で試みましたがcopyタスクやfixCRLFタスクはこの目的にはうまく使えませんでした(なぜか文字化けします。よいやり方をご存知の方は教えてください。

PerlRubyを使ってスクリプトを書くのがまっとうなやり方だと思いますが、今回はnkfを使いました。まず、SJIS->EUCとCRLF->LFの変換をするシェルスクリプトを準備します。

sjis2euc.sh:
#!/bin/sh
for f in $*; do
  nkf -euc -Lu $f > /tmp/tt
  mv $f $f.org
  mv /tmp/tt $f
done

あとは、find + xargsでsrcディレクトリ全体に対して変換をします。

find ./src -name '*.java' | xargs sjis2euc.sh

私が知らないだけでコマンド一発でできる方法がきっとあるのでしょう。