Window文本在Linux中出现的^M问题

Posted 皮特王同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Window文本在Linux中出现的^M问题相关的知识,希望对你有一定的参考价值。

 

问题:在Windows中写了一个shell脚本在Linux中死活不能运行,怎么也查不出错误,原来是格式问题。

原因:Windows/DOS系统的换行符是/r/n,Unix/Linux系统的换行符是/n,Windows中的文本在Linux中查看每行末尾会出现^M标记,表示无法识别的字符。^M字符是不可见字符,需要用cat -v 或  vi -b 才能显示。

解决:使用dos2unix命令进行格式转换,或者使用sed将^M删除(^是ctrl+v M是ctrl+M)

以上是关于Window文本在Linux中出现的^M问题的主要内容,如果未能解决你的问题,请参考以下文章

vi编辑器中发现文件中每行都有一个^M字符

在window上面的txt文件上传到Linux上出现乱码问题

sed: unix与doc换行的转换

linux与windows 互传的文件,中文名称出现乱码

2python脚本在window编辑后linux不能执行的问题

vim打开文件中每行末尾都带有 ^M