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

如何使用grep正则匹配仅含单个制表符而非多个制表符的行

匹配指定数量制表符行的grep实现方案

核心原理

  • 用^锚定行首,确保匹配的是行开头的制表符
  • grep默认使用基础正则表达式(BRE),重复量词{N}需要转义为\{N\}才能生效;添加-E参数启用扩展正则表达式(ERE)后,{N}可直接使用无需转义,这也是你之前用{N}不生效的核心原因
  • 匹配完指定数量的制表符后,追加[^\t]规则,确保后续字符不是制表符,避免多制表符行被误命中

匹配开头仅含1个制表符的行(text1所在行)

基础正则写法

grep $'^\t\{1\}[^\t]' 你的文件名

扩展正则写法(更易读)

grep -E $'^\t{1}[^\t]' 你的文件名

匹配开头仅含2个制表符的行(text3所在行)

基础正则写法

grep $'^\t\{2\}[^\t]' 你的文件名

扩展正则写法(更易读)

grep -E $'^\t{2}[^\t]' 你的文件名

补充:匹配全行仅含N个制表符的行

如果需要匹配的是整个行内总共只有N个制表符,不限制位置,可以用如下规则(以N=1为例):

grep -E $'^[^\t]*\t{1}[^\t]*$' 你的文件名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:54:01