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

相关推荐
江公望43 分钟前
Linux kernel regcache_cache_only()函数详解
linux
liuyunluoxiao1 小时前
基于生产者消费者模型的线程池【Linux操作系统】
linux
程序员黄老师2 小时前
Ubuntu 24.04上安装 Intelligent Pinyin 中文输入法
linux·运维·ubuntu
HONG_YANG3 小时前
ERPNext 介绍、安装和维护建议
linux
HONG_YANG3 小时前
ERPNext 搭建教程:Linux 一键部署与维护
linux
Enti7c3 小时前
什么是void,什么时候使用void类型?never和void的区别
linux·运维·ubuntu
scilwb4 小时前
基于Isaac Sim场景的Coverage Path Planning 项目部署完整指南
linux
知北游天5 小时前
Linux:多线程---同步&&生产者消费者模型
java·linux·网络
kfepiza5 小时前
`nmcli con add type vlan`中的: `ifname` , `dev` ,`vlan.parent`, `id`,`vlan.id`
linux·网络协议·tcp/ip
kfepiza5 小时前
Linux的NetworkManager的`nmcli connection add` 笔记250712
linux·网络协议·tcp/ip