在Linux下删除行末尾的^M符号方法,linux末尾由于DOS下的编辑器


今天运行一个自己写的一个Shell脚本错误,想到问题可能是在windows下编辑过引起的,使用vi打开发现每行末尾都多了^M,于是想到使用vi的替换命令替换掉。

由于DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致,在Linux下经常能看到C文件或者TXT文件每行末尾都有一个^M符号,这个会导致shell脚本运行错误。

我们可以采用VI的编辑器命令进行删除。利用VI的查找替换命令,将^M替换为空格符

(1):在VI的编辑模式下,ESC shilt + : 输入 g/\^M/s/\^M//

回车,就删除掉了。

(2):在VI的编辑模式下,ESC shift + : 输入 %s/^M//g

回车,同样能删除掉。

相关内容