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

如何用grep命令匹配含空格分隔of且首词≤3字符的短语?

解决grep匹配特定短语的问题

我来帮你搞定这个grep匹配的需求!你需要一次性匹配两种符合要求的场景:首词长度≤3字符,且包含前后由空格分隔的独立单词of,不用分开两次执行命令。

核心需求拆解

要匹配的行需要同时满足两个关键条件:

  • 行首的第一个单词长度不超过3个字符
  • 行中必须包含被空格前后包围的of(避免误匹配像schoof这类嵌入在其他单词里的of)

最终可用的grep命令

直接用这个合并后的正则表达式,就能覆盖所有你预期的匹配情况:

grep -E '^\w{1,3}( .*)* of ' es1.txt

正则表达式详解

咱们拆解开看每个部分的作用:

  • ^\w{1,3}:匹配行首1-3个单词字符(\w包含字母、数字、下划线,完美适配单词场景),确保首词长度不超过3
  • ( .*)*:匹配零次或多次「空格+任意内容」,既支持首词直接紧跟of的场景(比如sch of aock),也支持首词后有其他单词再出现of的场景(比如Bam school of ciao)
  • of:严格匹配前后都有空格的of,确保它是独立的单词,不会误匹配嵌入在其他单词里的of

兼容多空格场景(可选)

如果你的文本里of前后可能有多个空格(比如sch of rock),可以把正则里的of改成 +of +,命令变成:

grep -E '^\w{1,3}( .*)* +of +' es1.txt

+表示匹配一个或多个前面的空格,兼容更灵活的空格格式。

测试验证

用你提供的示例文本测试,这个命令会精准匹配出:
sch of aock、sch of rock、sc of uok、Bam school of ciao,完全符合你的预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:16:14