
linux 中用vi 命令查看文件,为什么文件中每一行的结尾会出现两个^M^M.这是怎么产生的,代表什么符号?
3个回答
展开全部
windows创建的文件是 \n\r结束的, 而linux,mac这种unix类系统是\n结束的。
所以unix的文本到windows会出现换行丢失(ultraedit这种软件可以正确识别); 而反过来就会出现^M的符号了
补充:
windows里用ultraedit,选16进制模式(hex mode)可以看到。linux里面,我就不熟悉了。
建议查看一下刘遄老师的《linux就该这么学》
所以unix的文本到windows会出现换行丢失(ultraedit这种软件可以正确识别); 而反过来就会出现^M的符号了
补充:
windows里用ultraedit,选16进制模式(hex mode)可以看到。linux里面,我就不熟悉了。
建议查看一下刘遄老师的《linux就该这么学》
展开全部
Dos、Windows 格式的文件,用 0D 0A (CR+LF)作为换行符,而Unix 的则是以0A(LF) 作为换行符,所以dos 底下的文本文件到了unix的话,换行符就会多出来一个 0D(CR) 显示为 ^M
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-06-07
展开全部
文件的编码格式不一样在成的,一般来说会影响使用。常规方法是使用dos2unix命令,懒的方法是逐个把这些字符去掉,在vi里每行行尾按x
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询