vi で改行コード(^M)を削除
ちょっと度忘れしていたので、備忘として。
改行コード(キャリッジリターン)の削除
改行コードは、2つある。
CR = キャリッジリターン(Mac)
LF = ラインフィード(UNIX)
キャリッジリターンが Macintosh で使われてた改行コードで、ラインフィードが UNIX で使われている改行コード。
CRLF と、二つ合わせて使うのが、Windowsで使われる改行コード。
Ctrl + V → Ctrl + m で ^M が入力できるのは参考サイトを見て初めて知った (^^;
けれど、もう少しだけ簡単な覚え方がある。
タブをコードで入力するとき、\t で検索することがあるんじゃなかろうか。
それと同じように、CR も LF も対応するコードが存在する。
Tab = \t
CR = \r
LF = \n
この \r が ^M の特殊記号になっている。
なので vi の置換コマンドでこう打つ。
:%s/\r//g
逆に、こう打ってしまうと、全部で 1 行になってしまう。
:%s/\n//g
ま、それはともかく…… vi で置換するときは % を入れ忘れないようにしないと (^^ゞ