Windows 形式のファイルを Unix 形式に変換 ms2u

Windows 形式のテキストファイルをダウンロードしてきた場合でも、日本語化された less であれば、そのまま表示することができます。しかし、漢字コードが sjis (MS漢字)のため、そのままでは、このホームページで紹介した wgrep や mynmz でコンソールから検索することができません。そこで、漢字コードを sjis から euc に変換し、ついでに行のデリミターを CR LF から \n(new line)に変換するフィルター ms2u を作りました。使い方は次のようになります。

$ ms2u {Windowsのファイル} > {変換後のunixファイル}

例えば、hoge_win.txt というWindows形式のテキストファイルを hoge_unix.txt に変換する場合は、コンソールから次のように入力します。

$ ms2u hoge_win.txt > hoge_unix.txt

Windows形式 -> Unix形式変換スクリプト ms2u

ファイル名:ms2u

#!/bin/sh

exec nkf -Sed $1

ms2uは次のようにパーミッションを実行可能にしておく必要があります。

$ chmod +x ms2u

漢字コードの変換に nkf を利用していますが、日本語 Linux ディストリビューションには標準で入っています。