[Linux] :odコマンドを使った改行コードの調べ方法

UNIXで作られたテキストファイルをWindowsでみたり、Windowsで作った書類をMacOSで見たりすると、1行に表示されていたり、変な文字が混ざってしまうことがある。これは、改行コードの扱いがOSによって異なるために起こる。
UNIXではLF、Mac(OS9以前)ではCR、WindowsではCR+LFと呼ばれる改行コードになっている。(MacOS XはUnix-baseなのでLFを使っている。)
改行コードを調べるには、odと言うUnixコマンドでファイルをダンプさせて見ればよい。

“od”はOctal Dump の略でOctal は「8進数」の意。“od”のデフォルトでの働きは画像ファイルでもテキストファイルでも8進数でダンプさせること。(ダンプとは、指定された表示法でファイルを表示すること)
例えば
>echo ”b” |od
とすると“005142”と8進数で出力されます。
>echo ”b” |od -x
とすると“0a62”と16進数で出力されます。

ここで改行コードを調べるには-cオプションを使います。
>od -c test.txt | less
-cオプションとは「ASCII 文字かバックスラッシュ付きのエスケープ文字」という形式で出力します。
こうすると改行コードがLFなら\n、CRなら\r、CR+LFなら\r\nと表示されます。

まとめ
システム      改行コード     od -c での見え方
unix           LF         \n
Mac (OS 9以前)    CR         \r
Windows       CR+LF        \r\n

※「 | less」を付けた場合は「q」で元に戻る。

スポンサーリンク
google 6948682462
google 6948682462

シェアする

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

フォローする

スポンサーリンク
google 6948682462