You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Ubuntu WSL中使用grep匹配带Windows换行符的行尾内容

解决方案

不用转换文件格式的话,有几种直接适配Windows换行符(\r\n,十六进制0d0a)的方法:

方法1:修改grep匹配模式,明确匹配行尾的CR字符

默认grep的$匹配的是Unix换行符\n前的位置,针对Windows换行的文件,你需要在匹配规则里加上对应CR的\r:

... | grep "N'')\r$"

如果要同时兼容Unix和Windows换行的混合文件,可以用扩展正则(-E)匹配可选的CR:

... | grep -E "N'')\r?$"

也可以直接用十六进制表示CR字符(\x0d),效果完全一致:

... | grep "N'')\x0d$"

方法2:用awk处理(自动兼容Windows换行)

awk会自动识别Windows换行的\r\n作为行结束符,并且忽略行尾的\r,所以直接用你原本的匹配逻辑即可:

... | awk '/N'')$/'

方法3:用grep的-z选项(将换行符视为普通字符)

-z选项会让grep把文件内容视为以NUL字符分隔的流,此时可以直接匹配Windows换行符\r\n:

... | grep -z "N'')\r\n"

注意:这个方法会把匹配到的内容连在一起输出(因为以NUL为分隔符),如果需要保留原行结构,前两种方法更实用。

内容的提问来源于stack exchange,提问作者Dominique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 18:42:06