暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux下的^M困惑

694

我们有时在Windows编辑的文件,放到了Linux环境中,打开文件,可能发现每行结尾多了一个“^M”,导致一些在Windows下能执行的解析程序,放到了Linux中,执行就会报错,问题就出在这个"^M"。

其实这个问题,和操作系统换行符相关。Dos、Windows格式的文件,用0D 0A(CR+LF)作为换行符,而Linux/Unix的则是以0A(LF)作为换行符,因此以Dos底下的文本文件到了Linux,换行符就会多出来一个0D(CR),他会显示为"^M"。在Linux中vim是无法显示\r,因为ascii中对应的不是Linux中的标准acsii字符,其实其对应的ASCII码十进制形式是13(无显示形式),对应的八进制形式是15(显示为^M)。

对这个问题的解决可能有很多种,

1. 在Windows下使用文本工具进行转换win-->linux,例如notepad++、UltraEdit直接进行转换。

2. 在Linux下,可以用dos2unix file,将文件转换格式。3. 在Linux下,可以用cat file | tr -d "\r" > new_file,进行替换。4. 在Linux下,可以用sed 's/^M//old_file > new_file,进行替换。

近期的热文:

Oracle Cloud云端账号的注册过程

一次对linux系统无影响的python3环境搭建过程及思考

PLSQL Developer几个可能的隐患

从70万字SRE神作提炼出的7千字精华文章

从数据误删到全量恢复的惊险记录

NUMBER长度的误解

decode函数再挖掘

《decode函数的妙用》网友的两个问题解答

decode函数的妙用》《公众号600篇文章分类和索引

最后修改时间:2020-05-09 09:25:20
文章转载自bisal的个人杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论