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

如何使用grep让通配符匹配恰好64个字符?

匹配恰好64个字符的行,过滤长度不符的内容

嘿,要筛选恰好64个字符的行是吧?这在文本处理里是很常见的需求,给你两个实用的命令行方案,不管你用awk还是grep都能轻松搞定:

方案1:用awk按行长度筛选

awk会逐行处理文本,我们直接判断整行的字符长度是否等于64即可:

awk 'length($0) == 64' your_file.txt

效果说明

拿你提供的bar.txt举例:

  • 第一行的哈希值1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2正好是64个字符,会被保留输出;
  • 像aa460da4af72c482231e28e688e01f2778a88ce31a08826899d54ef7183998b5 / /Users/1337/R这种带路径的行,长度远超过64,会被忽略;
  • 最后那个截断的哈希53c234e5e8472b6ac51c1ae1cab3fe06fad...长度不足64,同样会被过滤掉。

方案2:用grep正则精准匹配整行

用正则表达式匹配恰好64个任意字符的整行:

grep -xE '.{64}' your_file.txt

参数解释

  • -x:要求整行完全匹配正则,避免匹配到行内包含64字符但整体长度不符的情况;
  • -E:启用扩展正则,让.{64}语法生效(表示任意字符重复64次);
  • .{64}:核心正则,匹配恰好64个任意字符。

进阶:匹配特定模式的64字符

如果你的目标是类似SHA256哈希这类仅包含十六进制字符的64位内容,可以把正则改成更精准的版本:

grep -xE '[0-9a-fA-F]{64}' your_file.txt

这样只会保留由0-9、a-f、A-F组成的64字符行,避免误匹配其他无关内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:49:07