vi でファイルの行末の ^M を削除する方法
Linux で vi エディタ等でファイルを開くと ^M という記号が表示される場合があります。Linux では、この文字は不要ですので削除しましょう。^M が表示される原因
Windows でファイルを作成・編集した場合、改行コードが CR+LF となります。このファイルをファイル転送ソフト(FTP や SCP)のバイナリモードで転送すると、改行コードはそのまま CR+LF となります。他のファイル転送モードでは自動的に改行コードを変換してくれるのですが、バイナリモードでは改行コードの変換が行われません。
しかし Linux における改行コードは LF ですので、Linux で改行コードが CR+LF となっているファイルを vi エディタで開くと行末に ^M と表示されてしまいます。つまり CR が別の文字として解釈されているわけです。このような場合、Linux 上の vi エディタで改行コードを変換してあげると良いです。
vim で ^M を変換する
以下のように %s で置換モードに入り、/^M/ で ^M を // で空文字に変換する命令を入力すると ^M が削除されます。%s/^M//g
そして変換後にファイルを保存すれば ^M は削除されます。