脚本明明写对了,为什么就是匹配不到?\r\n 和 \n 的坑
一句话: Perl、Python、Shell 脚本在 Windows 上跑用\n匹配行尾总是失败——因为文件实际是\r\n。加上 Windows 大小写不敏感.c.C两个坑加起来能浪费一上午。适合谁读适合嵌入式开发者、单片机初学者及遇到类似问题的工程师坑 1\n 匹配不到 \r\n写了个 Perl 脚本批量替换文件内容s/old_function\n/new_function\n/g;在 Linux 上跑得好好的Windows 上永远匹配不到。原因Windows 文本文件行尾是\r\nCRLF不是\nLF。Perl 的\n只匹配 LF不匹配 CRLF。修法# 跨平台兼容写法 s/old_function\r?\n/new_function\r?\n/g; # 或者先统一行尾符 s/\r\n/\n/g; # 先全转成 LF s/old_function\n/new_function\n/g; # 再操作Python 同理# open 时指定 newline with open(file.c, r, newline) as f: content f.read() # 或者在正则里加 \r? import re re.sub(rold_function\r?\n, new_function\r?\n, content)一刀切的修法在 Windows 上用 Git Bash 跑脚本前统一行尾符# CRLF → LF sed -i s/\r$// *.c # 或者用 dos2unix dos2unix *.c # 跑完脚本再转回去 unix2dos *.c坑 2Windows 大小写不敏感列了文件清单发现少了drv_gpio.c。找了半天其实它就在目录里——只是文件名是Drv_Gpio.c。Windows 不区分大小写drv_gpio.cDRV_GPIO.cDrv_Gpio.c。你用ls *.c列出来的文件名和实际大小写可能不一致但 Windows 能访问。Git 区分大小写问题不明显。直到把文件拷到 Linux 上——编译直接报drv_gpio.c: No such file or directory。因为include里写的是drv_gpio.h实际文件是Drv_Gpio.h。怎么避免# 检查哪些 include 大小写不一致 grep -r #include *.c | while read line; do file$(echo $line | grep -o [^]* | tr -d ) if [ ! -f $file ]; then echo NOT FOUND: $file (in $line) fi done或者一开始就定规范所有文件名全小写。.c.h后缀必须小写前缀drv_app_mod_bsp_全小写。总结坑原因修法\n匹配不到Windows 用\r\n用\r?\n或先dos2unix文件找不到Windows 不区分大小写全小写命名规范Linux 上报错Git 区分大小写git mv改文件名别用 Windows 资源管理器有用的话点个收藏下次调试直接用。有问题欢迎评论区交流看到了都会回。下一篇改了5个地方才修好——编译错误、看门狗、DAC踩坑、协议对齐——真实Bug故事排查方法论

相关新闻

YASKAWA CX80-00205-V1 控制器模块

YASKAWA CX80-00205-V1 控制器模块

YASKAWA CX80-00205-V1 是安川电机推出的一款控制器模块,属于其运动控制与自动化解决方案的核心组件之一。产品特点制造商为安川电机,专注于运动控制、机器人技术和自动化解决方案。继承了安川在伺服、驱动和工业机器人领域一贯的精度和可靠性特点。产品…

2026/8/3 20:17:48 阅读更多 →
三团队抢8张AMD卡:配额策略改了三版才把闲置率压到9%

三团队抢8张AMD卡:配额策略改了三版才把闲置率压到9%

AMD ROCm 集群动态配额优化实战:从资源战争到高效协同 初始方案:固定分区为何失效 在混合云架构下,我们最初采用静态配额策略为三个团队分配8张AMD Instinct MI250X计算卡。这种看似公平的分配方式在实际运行中暴露出两大核心问题&#xff…

2026/8/3 20:16:48 阅读更多 →
AI驱动字体设计革命:高通GT-Fontlab核心功能与实战指南

AI驱动字体设计革命:高通GT-Fontlab核心功能与实战指南

1. 项目概述:当字体设计遇上AI,一场效率革命正在发生 最近,高通在字体设计圈扔下了一颗“重磅炸弹”——GT-Fontlab。这可不是一个简单的字体编辑软件,而是一个集成了AI能力的专业级字库工具,最关键的是,它…

2026/8/3 20:16:48 阅读更多 →

最新新闻

CNN听力法:每天10分钟四步精听,实现英语听力暴涨

CNN听力法:每天10分钟四步精听,实现英语听力暴涨

1. 背景与核心概念:为什么是CNN,以及“每天10分钟”的科学性 在英语学习的漫长征途中,听力往往是横亘在无数学习者面前的一座大山。传统的学习方法,如泛听VOA、BBC,或者精听教材录音,虽然有效,但…

2026/8/4 3:46:25 阅读更多 →
Vue+SpringBoot构建高并发在线拍卖系统实战

Vue+SpringBoot构建高并发在线拍卖系统实战

1. 项目概述183dys60这个在线拍卖系统项目采用了VueSpringBoot的主流技术栈,是当前企业级应用开发的黄金组合。我在实际开发中发现,这种前后端分离架构特别适合需要快速迭代的电商类项目。Vue负责构建灵活高效的用户界面,而SpringBoot则处理复…

2026/8/4 3:46:25 阅读更多 →
SpringBoot智能物流系统开发与优化实践

SpringBoot智能物流系统开发与优化实践

1. 项目概述:智能物流追踪系统的核心价值物流行业正经历着从传统人工管理向数字化、智能化转型的关键阶段。去年参与某电商仓储系统升级时,我亲眼见证了物流追踪系统如何将平均包裹查询时间从45分钟压缩到实时可见。这个基于SpringBoot的智能物流追踪系统…

2026/8/4 3:46:25 阅读更多 →
STM32串口DMA不定长接收实战:从原理到代码避坑指南

STM32串口DMA不定长接收实战:从原理到代码避坑指南

你是不是也遇到过这样的场景:在STM32上调试串口通信,用传统的中断方式接收数据,一旦数据量大或者波特率高,CPU就被频繁打断,连主循环都跑不顺畅。想用DMA(直接存储器访问)来解放CPU,…

2026/8/4 3:46:25 阅读更多 →
2025届毕业生推荐的六大AI科研助手推荐

2025届毕业生推荐的六大AI科研助手推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 知网 AI 检测系统, 借助分析文本特征, 来识别 AI 生成内容, 其主要检测方面包括句式结构, 还…

2026/8/4 3:46:25 阅读更多 →
FPGA驱动LCD:从HD44780时序到Verilog状态机实战

FPGA驱动LCD:从HD44780时序到Verilog状态机实战

1. 项目缘起:为什么要在FPGA上驱动LCD?如果你玩过单片机,比如Arduino或者STM32,驱动一块16x2的字符型LCD(液晶显示屏)几乎是入门必做的实验。网上有现成的库,几行代码就能让屏幕亮起来&#xff…

2026/8/4 3:45:24 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →