概略

windowsで作成したファイルをlinuxに転送した場合に、改行コードの差分によってうまくコードが動作しないことがある。

windows上でファイルを保存する際に、改行コードをLFで保存すれば良いが、windows上で修正して再度linuxへアップロード・・・というのも面倒な時は、linux上で一括置換で修正してしまっても良いでしょう。

実行コマンド

:%s/^M//g

解説

上記の「^M」というのは、「Ctrl」+「V」キーを押してから、「Ctrl」+「M」キーを押すことで入力できる。

そもそもvi上で一括置換操作を実行するためのコマンドが以下の通り。

:%s/[置換元文字列]/[置換先文字列]/g

「^M」というのは「CR」の改行コードを表すので、上記コマンドの意味合いとしては、

「CR」を全て削除する → 「CRLF」を「LF」に変換する

ということになります。

 

■参考

・置換コマンドについて

https://www.netandfield.com/~shinoda/tech/0012_vi_LFCR.html

・改行コードの文字コードについて

https://www.koikikukan.com/archives/2013/10/15-013333.php

https://ja.wikipedia.org/wiki/ASCII#ASCII.E5.88.B6.E5.BE.A1.E6.96.87.E5.AD.97

Follow me!