如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?
当前回答
在VIM中:
:e ++ff=dos | set ff=unix | w!
带VIM的外壳:
vim some_file.txt +'e ++ff=dos | set ff=unix | wq!'
e++ff=dos-强制以dos格式打开文件。
set ff=unix-将文件转换为unix格式。
其他回答
您可以使用:
vim somefile.txt +"%s/\r/\r/g" +wq
或者dos2unix实用程序。
要直接在Linux控制台中运行:
vim file.txt +"set ff=unix" +wq
使用以下命令:
:%s/^M$//g
要显示^M,请键入CtrlV,然后键入CtrlM。CtrlV告诉Vim按字面意思输入下一个字符。
:set fileformat=unix将DOS转换为unix。
dos2unix可以直接修改文件内容。
您可以直接在文件上使用它,而不需要临时文件重定向。
dos2unix input.txt input.txt
以上使用假定的美国键盘。使用-437选项使用英国键盘。
dos2unix -437 input.txt input.txt