Linux案例之处理^M特殊字符

本文详细介绍了在Linux和Windows系统中,由于文本断行符号的不同(Linux使用LF,Windows使用CR与LF),导致文件在跨平台打开时出现额外^M符号的问题。并提供了dos2unix命令、sed命令、vi编辑器和tr命令等四种解决方案,帮助开发者轻松解决跨平台文件兼容性难题。

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

◆ 产生原因:

DOS (Windows 系统)使用的断行字符为 ^M$ ,我们称为 CR 与 LF 两个符号。 而在 Linux 下,则是仅有 LF ($) 这个断行符号。所以,当在 Linux 下打开Windows文件时,就会多了一个 ^M 的符号。

◆ 处理方案:
  • dos2unix 命令:
dos2unix filename
  • sed 命令:
sed -i 's/^M//g' filename

注:^M的输入方式是 Ctrl + v ,然后Ctrl + M

  • vi工具修改:
#vi filename
:1,$ s/^M//g
^M 输入方法: ctrl+V ,ctrl+M
  • tr 命令:
#cat filename |tr -d '\r' > newfile

注:^M 可用 \r 代替

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值