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


当前回答

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

for file in *.sh; do awk '{ sub("\r$", ""); print }' $file >luxubutmp; cp -f luxubutmp $file; rm -f luxubutmp ;done

其他回答

使用以下命令:

:%s/^M$//g

要显示^M,请键入CtrlV,然后键入CtrlM。CtrlV告诉Vim按字面意思输入下一个字符。

:%s/\r\+//g

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

我想要用换行符代替^M。Perl拯救:

perl -pi.bak -e 's/\x0d/\n/g' excel_created.txt

或写入标准输出:

perl -p -e 's/\x0d/\n/g' < excel_created.txt

您可以使用:

vim somefile.txt +"%s/\r/\r/g" +wq

或者dos2unix实用程序。

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