如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?
当前回答
:%s/\r\+//g
在Vim中,它去掉所有回车符,只留下换行符。
其他回答
tr -d '\15\32' < winfile.txt > unixfile.txt
(请参见:在Unix和Windows文本文件之间转换)
dos2unix可以直接修改文件内容。
您可以直接在文件上使用它,而不需要临时文件重定向。
dos2unix input.txt input.txt
以上使用假定的美国键盘。使用-437选项使用英国键盘。
dos2unix -437 input.txt input.txt
要直接在Linux控制台中运行:
vim file.txt +"set ff=unix" +wq
以下命令用于重新格式化当前目录中的所有.sh文件。我在Fedora操作系统上测试了它。
for file in *.sh; do awk '{ sub("\r$", ""); print }' $file >luxubutmp; cp -f luxubutmp $file; rm -f luxubutmp ;done
发件人:文件格式
[Esc]:%s/\r$//