如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?
当前回答
如果您在Windows中的Notepad或Notepad++中创建文件,将其带到Linux,然后用Vim打开,您将在每行末尾看到^M。为了去除这一点,
在Linux终端上,键入
dos2unix filename.ext
这将产生所需的魔力。
其他回答
要直接在Linux控制台中运行:
vim file.txt +"set ff=unix" +wq
我更喜欢使用以下命令:
:set fileformat=unix
您还可以使用mac或dos分别将文件转换为mac或MS-dos/Windows文件约定。如果文件已经是正确的格式,它也不会起作用。
有关更多信息,请参阅Vim帮助:
:help fileformat
:%s/\r\+//g
在Vim中,它去掉所有回车符,只留下换行符。
:set fileformat=unix将DOS转换为unix。
:g/Ctrl-v Ctrl-m/s///
CtrlM是字符\r,或回车符,DOS行结尾添加该字符。CtrlV告诉Vim在命令行中插入文字CtrlM字符。
作为一个整体,该命令将所有\r替换为无,并将它们从行的末尾删除。