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的显示。

相关推荐
0+1117 分钟前
Linux --应用层自定义协议与序列化
linux·运维·服务器·网络·tcp
dyxal11 分钟前
Linux Crontab 防重复执行利器:flock 文件锁实战详解(脱敏版)
linux·运维·服务器
niuTaylor12 分钟前
RK3568 Linux SDK 详解:SDK 是什么、板级差异与完整构建流程
linux·运维·服务器
拾贰_C20 分钟前
【Ubuntu | port】Linux进程端口号冲突问题解决
linux·运维·ubuntu
0+1111 小时前
Linux --读者写者问题、读写锁与自旋锁
linux
谷哥的小弟1 小时前
CentOS寿终正寝
linux·运维·centos
醇氧1 小时前
nohup 后台启动 uvicorn(仅测试 / 临时运行)
linux·运维·网络·python·python3.11
lisanmengmeng1 小时前
nagios的安装错误
linux
雪落漂泊1 小时前
Linux基本指令(上)
linux·运维·服务器
LongRunning1 小时前
【Linux】RK3568-系统镜像(六)
linux