ファイルから "^M"を削除する方法は? [コピー]

ファイルから "^M"を削除する方法は? [コピー]

diffで比較した2つの「同じ」ファイルがあり、すべての行が異なることを示しています。ファイルを見た後、ファイルの1つがすべての行^Mの終わりにあることがわかります。これをどのように削除しますか?私は次のsedコマンドを試しました。

sed -i '' -E 's/^M//g'

このtrコマンドは次のとおりです。 (操作しても内部編集をしたいので望ましくありません。)

tr -d '^M'

そしてこのperlコマンドは:

perl -pi -e 's/^M//g'

しかし、これらのどれも内容を変えません。

答え1

しばらく前にこの機能を見つけました。ケンロップ's.vimrc彼のドットファイルストア:

" Removes the ^M character from the end of every line
function! RemoveM()
    :%s/^M$//ge
endfunction

" Replaces the ^M character with a carraige return native to the system
function! ReplaceM()
    :%s/^M/\r/ge
endfunction

したがって、これらの機能を簡単に使用し、Vimを使用してこれらの^M文字を処理できます。

関連情報