@WIKI
viエディタでの ^M の外し方
最終更新:
atyou
-
view
(知らなかった人は参考に)
UNIXのテキストファイル上で ^M を見かけることがしばしばありますよね。
Windowsで作成したファイルの改行コードはCR+LFで、UNIXの改行コードはLFだけなので、
ファイルの転送方法その他(VSS管理ファイル)によってはそのまま vi で開くとすべての行末に ^M が表示される場合があります。
(VSS管理上のファイルを「最新バージョンの取得」で作業フォルダに持ってきて、
そのままUNIX上に持っていくと多分(100%) ^M が付加されていると思います。)
ファイルの転送方法その他(VSS管理ファイル)によってはそのまま vi で開くとすべての行末に ^M が表示される場合があります。
(VSS管理上のファイルを「最新バージョンの取得」で作業フォルダに持ってきて、
そのままUNIX上に持っていくと多分(100%) ^M が付加されていると思います。)
そこで、いままで vi エディタ上で1つずつ削除している人は
以下の方法で一括変換できますので試してみてください。
以下の方法で一括変換できますので試してみてください。
① vi エディタでソースファイルを開く
② 【:】(コロン)キーを押下しコマンドモードへ
(その他作業していた場合は【ESC】キー押下した後)
(その他作業していた場合は【ESC】キー押下した後)
③ 以下のいずれか(好きな方)を入力し【改行(Enter)】キー
を押下すると一括置換えが出来ます。
を押下すると一括置換えが出来ます。
%s/^M//g g/^M/s///g
(どちらも結果は同じです。)
ただ、 ^M を入力する場合は普通に入力したのではダメ!
^M は制御コードなので、【Ctrl】キーを押したまま、【v】キー、【m】キーを押下し入力します。
^M は制御コードなので、【Ctrl】キーを押したまま、【v】キー、【m】キーを押下し入力します。
また、この置換えは通常の文字列変換にも使用できます。
書式は以下の通りです。
書式は以下の通りです。
方法1)
%s/検索文字列/置換文字列/g
方法2)
g/検索文字列/s//置換文字列/g
もし、置換が間違っていたら置換え直後に【u】キーを押すことで元に戻ります。