改行コード

【一覧】

改行コード 記号 10進数 16進数 OS
LF \n 10 0x0A UNIX,Linux,Mac OS X以降
CRLF \r\n 13 10 0x0D 0x0A Windows
CR \r 13 0x0D Mac OS Ⅸ以前

・調べたら他にも色々ありそうだけど、当ブログではそこまでは追い求めない。
‰üsƒR[ƒh Memo
 

【改行コードの確認及び可視化】
サクラエディタの場合は、ステータスバーにて確認が行えるし、改行コード事態も可視化されている。
 どっちがどっちか分からなくなった場合には、一番下にあるステータスバーのとこを右クリックすれば、表記の意味が表示される。
サクラエディタ - eternalbeta

・viの場合
 少なくともwindowsのkaoriya-vimでいくつか実験したところ、以下では想定通り動かない場合がある。
 多分ファイルの改行コードから算出するのではなく、_vimrcなどで明示的に指定する必要があるっぽい。
 確認方法  :set fileformat?
 可視化方法 :set list

・コマンドの場合、odコマンドが一番手堅いので、moreやlessなどでパイプして確認すればよい。
 od -c hoge.txt | more 


【変換方法・置換方法】
サクラエディタの場合は、保存する時に変えてやるのが一番てっとり早い。
 なお、文中でもしも混在させたい場合は、一番下にあるステータスバーのとこに現在の改行コードが表示されているので、そこを右クリックし入力したい改行コードを選択する。
 以後、改行を行う際には指定した改行コードにて改行が行われる。

・viの場合は、:e!のオプションで指定することが可能である。
 ただこれも少なくともWindowsのkaoriya-vimでは、それをそのまま保存しても変換は行われていなかった(何か間違っていた?)。
ex.)LF形式に指定して、開き直す。
 :e ++ff=unix
ファイルの文字コード、フォーマットを指定して、読み直す。 — 名無しのvim使い

・コマンドの場合、sedだと方言問題などに出くわす可能性高く、tr/perlコマンドでやるのが一番楽そう。
(WindowsLinux)

tr -d \\r < windows.txt > linux.txt

(LinuxWindows)

perl -p -e 's/\n/\r\n/' < linux.txt > windows.txt

改行コードの変換

[改訂第3版]Linuxコマンドポケットリファレンス

[改訂第3版]Linuxコマンドポケットリファレンス

実践Vim 思考のスピードで編集しよう!

実践Vim 思考のスピードで編集しよう!