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

相关推荐
QT 小鲜肉44 分钟前
【QT/C++】Qt样式设置之CSS知识(系统性概括)
linux·开发语言·css·c++·笔记·qt
Elias不吃糖1 小时前
NebulaChat 框架学习笔记:深入理解 Reactor 与多线程同步机制
linux·c++·笔记·多线程
洋哥网络科技1 小时前
centos 7.9搭建安装confluence7
linux·centos·知识图谱
LCG元2 小时前
Docker 入门实战:用10个案例带你玩转容器化
linux
MMME~2 小时前
SELinux
linux·rhce
cccccc语言我来了2 小时前
深入理解 Linux(7) 命令与动态库:从文件操作到程序链接的实践指南
android·linux·运维
Lynnxiaowen2 小时前
今天我们开始学习Linux自动化运维Ansible基础
linux·运维·学习·自动化·云计算·ansible
NiKo_W2 小时前
Linux 传输层协议
linux·运维·网络·tcp协议·传输层·udp协议
夜月yeyue2 小时前
Linux 中断处理机制详解:上下半部、内核线程与中断线程化
linux·运维·单片机·嵌入式硬件·uboot·bootloard
浪漫血液&3 小时前
Linux基础指令(简易版)
linux·服务器