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

如何使用awk或grep筛选前8位含至少1个数字且第9位为下划线的字符串

实现方案

grep 方案

使用GNU grep的PCRE正则模式实现:

grep -P '^(?=.{0,7}[0-9]).{8}_' 你的输入文件

规则说明:

  • (?=.{0,7}[0-9]) 为正向预查逻辑,限定行首最多7个任意字符后必须出现数字,保证前8位至少包含1个数字
  • .{8}_ 匹配任意8个字符后紧跟下划线,满足第9位为下划线的要求

awk 方案

无环境依赖,兼容性更强,拆分两个规则直接判断:

awk 'substr($0,9,1) == "_" && substr($0,1,8) ~ /[0-9]/' 你的输入文件

规则说明:

  • substr($0,9,1) == "_" 校验行的第9位字符是否为下划线
  • substr($0,1,8) ~ /[0-9]/ 校验行前8位字符是否包含数字
  • 两个条件同时满足时会默认输出整行

提示:非GNU环境(如macOS)默认没有带PCRE支持的grep,直接使用awk方案即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:36:04