読者です 読者をやめる 読者になる 読者になる

改行コード

【一覧】

改行コード 記号 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 思考のスピードで編集しよう!