2

ファイルの各行の途中から制御文字を削除しようとしています。以下は私のデータです。以下のコマンドを使用しましたが、うまくいかないようです。

Command:
:%s/^M//g

Data:
53,v42,p11,51097,310780,ok^M,fraud
56,v45,p11,260,1925,ok^M,fraud
68,v42,p11,51282,278770,ok^M,fraud
96,v49,p14,212,1545,ok^M,fraud
163,v50,p20,373819,1006375,ok^M,fraud
204,v50,p26,36917,117195,ok^M,fraud
241,v70,p33,21777,91360,ok^M,fraud

Output Warning:
E486: Pattern not found: ^M
4

3 に答える 3

4

この投稿をご覧ください: http://www.tech-recipes.com/rx/150/remove-m-characters-at-end-of-lines-in-vi/

To remove the ^M characters at the end of all lines in vi, use:

:%s/^V^M//g

The ^v is a CONTROL-V character and ^m is a CONTROL-M. When you type this, it will look like this:

:%s/^M//g

基本的な理由は、^M と入力すると文字どおりの解釈が検索され、^ と M の 2 文字が検索され、代わりに入力から実際の制御文字を作成したいということです。

于 2012-11-22T18:46:54.417 に答える
-1

VI エディタを使用して UNIX ファイルから ^M を削除するには、このコマンドを使用します。

:%s(Ctrl+V)(Ctrl+M)/

重要!!– (Ctrl-v) (Ctrl-m) の組み合わせを押して ^M 文字を入力します。「^」と M は使用しないでください。

于 2015-08-31T08:07:07.190 に答える