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

如何用单个grep命令筛选未被反引号包裹的手册页条目

解决方案

你的问题出在原正则表达式要求手册页前后必须有非反引号的字符,但像* abc(1)这类行里的手册页后面是行尾,没有字符,所以匹配失败;同时原表达式也没考虑手册页处于行首或行尾的情况。

用带Perl兼容正则的grep命令可以解决:

grep -P '(?<!`)[a-z]+\([0-9]\)(?!`)' 你的文件名

正则解释:

  • -P:启用Perl兼容正则表达式,支持零宽断言
  • (?<!)`:负向后断言,确保目标手册页前面没有反引号
  • [a-z]+\([0-9]\):匹配标准手册页格式(小写字母+括号包裹的数字)
  • (?!)`:负向前断言,确保目标手册页后面没有反引号

这个命令会匹配所有包含未被反引号包裹的手册页的行,符合你的预期输出:

Read the `lmn(7)` man page but not qrs(6).
* abc(1)
* xyz(5)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:57:20