如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?


当前回答

我更喜欢使用以下命令:

:set fileformat=unix

您还可以使用mac或dos分别将文件转换为mac或MS-dos/Windows文件约定。如果文件已经是正确的格式,它也不会起作用。

有关更多信息,请参阅Vim帮助:

:help fileformat

其他回答

:%s/\r\+//g

在Vim中,它去掉所有回车符,只留下换行符。

要直接在Linux控制台中运行:

vim file.txt +"set ff=unix" +wq
:g/Ctrl-v Ctrl-m/s///

CtrlM是字符\r,或回车符,DOS行结尾添加该字符。CtrlV告诉Vim在命令行中插入文字CtrlM字符。

作为一个整体,该命令将所有\r替换为无,并将它们从行的末尾删除。

发件人:文件格式

[Esc]:%s/\r$//

dos2unix可以直接修改文件内容。

您可以直接在文件上使用它,而不需要临时文件重定向。

dos2unix input.txt input.txt

以上使用假定的美国键盘。使用-437选项使用英国键盘。

dos2unix -437 input.txt input.txt