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

807

被折叠的 条评论
为什么被折叠?



