テキストの変換

DOSファイルの改行コードを取り除く

 DOSのテキストファイルをUNIXに持って来たときに、 DOSの改行コードがついていることがあります。これを取り除くには、次のようにします。この例では、infileはDOSの改行コードをもつファイルで、 outfileがDOSの改行コードを取り除いた結果を保存するファイルです。

$ tr -d \'\\015\' < infile > outfile

Macファイルの改行コードを取り除く

 MacのテキストファイルをUNIXに持って来たときには、 Macの改行コードをUNIXのものへ変換する必要があります。これは、次のようにします。この例では、infileはMacの改行コードをもつファイルで、 outfileがUNIXの改行コードになった結果を保存するファイルです。

$ tr -d \'\\015\'  \'\\012\' < infile > outfile

nkfを使ったテキスト変換方法

nkfを使うとWindows のテキストファイルを変換して、UNIX のテキストファイルを作成するためには次のようにします。
この場合は文字コードと改行コードの変換ができます。UNIX側の文字コードがutf8の場合です。

$ nkf -Lu -w windows.txt > unix.txt

JavaのコードをWindowsからLinuxへ変換

組み合わせると、こんなことも簡単にできます。

#!/bin/sh

for f in `find . -name "*.java" -print`
do
  mv $f $f.sjis
  nkf -e $f.sjis > $f.dos
  tr -d \'\\015\' < $f.dos > $f
  rm $f.sjis $f.dos
done
for f in `find . -name "*.html" -print`
do
  mv $f $f.sjis
  nkf -e $f.sjis > $f.dos
  tr -d \'\\-15\' < $f.dos > $f
  rm $f.sjis $f.dos
done