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


当前回答

可以使用以下命令::%s/^V^M//g其中“^”表示使用CTRL键。

其他回答

以下命令用于重新格式化当前目录中的所有.sh文件。我在Fedora操作系统上测试了它。

for file in *.sh; do awk '{ sub("\r$", ""); print }' $file >luxubutmp; cp -f luxubutmp $file; rm -f luxubutmp ;done
tr -d '\15\32' < winfile.txt > unixfile.txt

(请参见:在Unix和Windows文本文件之间转换)

在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格式。

我知道我在什么地方见过这个。以下是FreeBSD登录提示:

是否需要从DOS文件中删除所有^M字符?尝试

tr -d \\r < dosfile > newfile
    -- Originally by Dru <genesis@istar.ca>

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

vim file.txt +"set ff=unix" +wq