[Home] / 教授でもできる... / 改行コード

改行コードの変換

Unixの上でsed, awk, Python, Perl などを使ってファイルを行ごとに扱うためには、各行は LF という文字コード(\n)で区切られていないといけない。しかし、他のシステムで作られたファイルは異なる改行コードを用いているため、一旦unix用の改行コードに変換する必要がある。

1.改行コードの調べ方

1.A nkfを使う

nkfを入れてあれば、Terminalから次のように打つだけ。

	$ nkf -g foo.txt
			

1.B Octal dump

例えば、foo.txtというファイルを調べたければ、Terminalを開いて次のようにする。

	$ od -c foo.txt | less
			

表示される文字の中に混じっている\n や\r\nを見つけ、下の表と比べる。

システム改行コードod -c での見え方
unixLF\n
Mac (特にOS 9以前)CR\r
WindowsCR+LF\r\n

Mac OS Xの「テキストエディット」などは、unixと同じく、\n の改行コードで書き出す。

2. 改行コードの変え方

2.A nkfを使う

Terminalからnkfを使えば簡単に変換できる。

2.B trを使う

Unixのtrコマンドを使っても、改行コードを変換でる。


2013-11-23 Taku Yamanaka