系统相关
首页 > 系统相关> > 工具说明书 - Linux文本文件中的字符^M如何处理

工具说明书 - Linux文本文件中的字符^M如何处理

作者:互联网

经常在Linux或Unix下进行嵌入式软件开发,使用Yocto、交叉编译工具链等。 但对于源码的编辑,还常常是在Windows平台下,比如我就用的Samba服务将Linux的源代码共享,然后Windows下访问来编辑。 这样有时就会出现文件格式的冲突,因为Windows的文本文件每行的结尾是Windows Line Ending(CR/LF) ,回车换行, \r\n,Carriage Return / Line Feed,十六进制0x0D 0x0A,符号表示为^M ^J。 Unix Line Ending是LF,Mac pre-OS X Line Ending是CR。 这样就会一不小心出现问题,Windows的文件格式带入了Linux系统。 然后,Git提交代码,这一行发生变动的代码的结尾就会出现^M符号,这个就是多出来的那个回车符。 不影响编译和查看,但终归还是有些瑕疵。 这时 可以使用Linux下的dos2unix和unix2dos这两个命令来转换。如果没有需要apt安装一下。
$ sudo apt install dos2unix
$ dos2unix main.cpp

或者使用vim, 也可以实现这个功能,使用vi或vim打开这个文件后,执行命令:
:set ff=unix
:w

标签:字符,Windows,Ending,文件格式,文本文件,Linux,Line,dos2unix
来源: https://blog.csdn.net/guoqx/article/details/121624757