源代码处理(一)-删除文件尾部"^M"

本文详细解析了Windows与Linux系统中回车与换行的差异,即CR与LF的区别,以及如何通过sed命令或文件编码转换解决dos格式文件在Linux下出现^M的问题。了解这些内容对于跨平台文件编辑和兼容性处理至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回车与换行

回车符号CR:转义字符’\r’ 对应16进制数:0x0d

换行符号LF: 转义字符’\n’ 对应16进制数:0x0a

windows平台格式的文本的换行操作包含两个字符 < CR + CF > : \r\n,而Linux系统换行操作只有一个换行字符< CF >:\n。Linux系统当遇到\n字符时才会换行操作,而\r回车符号会当作^ M 显示,因此当把dos格式的文件拿到linux下查看时会发现每行末尾都多出一个字符^M。

接下来介绍如何删除它:

1.使用sed命令。


sed -i 's/\r$//' code.c

2.文件编码转换

命令模式下输入


   :set fileformat=unix
   :w

总结:

其实经过第一种方法修改的文件,他的格式自动就已经切换为unix格式了,可以通过vim打开文件后输入:


:set ff

查看修改的文件格式,已经变为了unix格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值