Windowsで作ったテキストファイルをUbuntuで読み込む

Windows(DOS)で作ったテキストファイルをUbuntuにコピーして、catコマンドで表示すると、文字化けしてしまう。文字コードの変換と改行コードの変換が必要だ。Windowsの文字コードは一般的にはShift-JISだが、①(丸の中に1)のような機種依存文字を扱えるようにするため、文字コードはcp932を指定する。Ubuntuの文字コードはutf-8となる。

iconvで文字コードを変換した後、パイプでfromdosコマンドへ渡して、出力ファイルへリダイレクトすれば良い。

iconv

文字コードを変換する

fromdos

DOSフォーマットからUNIXフォーマットに変換する。CR,LF → LF
DOSフォーマットの改行はキャリッジリターンとラインフィードのペアになっているが、UNIXフォーマットはラインフィードだけになる。

todos

UNIXフォーマットからDOSフォーマットに変換する。LF → CR,LF

fromdos, todosはUbuntu 10.04 LTSをインストールした状態ではコマンドが使えなかったのでインストールした。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする