如何从文件中删除“^M”?

如何从文件中删除“^M”?

我有两个“相同”的文件,我在 diff 中进行比较,它显示每一行都是不同的,在查看该文件后,我发现其中一个文件位于^M每一行的末尾。我该如何删除这个?我尝试了这个sed命令:

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

这个tr命令:(即使它有效,我也不会想要,因为我想进行就地编辑)

tr -d '^M'

和这个perl命令:

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

但这些都没有改变内容。

答案1

前段时间我发现了这些功能肯罗布的 .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字符。

相关内容