Linux下读取Windows下保存的文件,报错信息中出现“^M“时如何解决?【由于Windows和Linux的换行方式不同造成的-提供两种转换方式】

Windows 和 Linux 的文本文件使用的换行符不同:

  • Windows 使用 \r\n (回车 + 换行)。
  • Linux 使用 \n (换行)。
    因此,当在 Linux 系统上运行带有 Windows 换行符的脚本或读取相关文件时,可能会出现错误提示,其中的 ^M\r (回车字符)在 Linux 文本中显示的方式。

Windows中使用 Notepad++ 修改换行符的方法:

Linux系统中利用命令dos2unix进行转换的方法

命令格式:

c 复制代码
dos2unix filename

示例如下:

c 复制代码
dos2unix led.sh

检查修改后的文件:

在 Linux 中,可以使用以下命令检查文件换行符:

bash 复制代码
cat -A filename
  • 如果是 Linux 格式,每行末尾应只显示 $
  • 如果是 Windows 格式,会显示 ^M$

示例如下:

bash 复制代码
cat -A /etc/test_gui/gui.conf

当然,这里也可以用vi编辑去检查:

bash 复制代码
vi /etc/test_gui/gui.conf

如果用vi打开,正常的话后面不会有^M的显示。

相关推荐
tumeng0711几秒前
Linux(CentOS)安装 Nginx
linux·nginx·centos
cyber_两只龙宝1 分钟前
【Docker】Docker的原生网络介绍
linux·运维·docker·云原生·容器
AzusaFighting7 分钟前
Dify (Ubuntu 24.04 Noble x64)部署教程
linux·运维·ubuntu
xlp666hub12 分钟前
一篇文章彻底搞懂Linux驱动的并发控制与中断上下半部机制
linux·面试
木心月转码ing17 分钟前
三个小技巧(commit message规范、代码格式化技巧、WSL开启网络代理)
linux
wang090730 分钟前
Linux性能优化之上下文切换
linux·运维·性能优化
bellus-34 分钟前
ubuntu24安装
linux
守护安静星空39 分钟前
ubuntu vscode 调试 at32f435vmt7基于AT32IDE
linux·运维·笔记·vscode·ubuntu
誰能久伴不乏41 分钟前
从数字世界到物理引擎:用 PWM 撕开 0 和 1 的结界
linux·arm开发·c++·qt
贺小涛41 分钟前
Linux网卡调度
linux·服务器·网络