2.2.7. aptitude 正则表达式

aptitude 正则表达式是类 mutt 的拓展 ERE(参见 第 1.6.2 节 “正则表达式”),aptitude 具体的特殊匹配规则扩展如下。

表 2.11. aptitude 正则表达式

扩展匹配规则描述正则表达式
匹配软件包名称~n<regex_name>
匹配描述~d<regex_description>
匹配软件集名称~t<regex_task>
匹配 debtag~G<regex_debtag>
匹配维护者~m<regex_maintainer>
匹配软件包的 section~s<regex_section>
匹配软件包版本~V<regex_version>
匹配档案库~A{buster,bullseye,sid}
匹配来源~O{debian,…}
匹配优先级~p{extra,important,optional,required,standard}
匹配必要的软件包~E
匹配虚拟软件包~v
匹配新的软件包~N
匹配待执行的动作~a{install,upgrade,downgrade,remove,purge,hold,keep}
匹配已安装软件包~i
匹配带有 A 标签的已安装软件包(自动安装的软件包)~M
匹配不带有 A 标签的已安装软件包(管理员选择的软件包)~i!~M
匹配已安装并且是可升级的软件包~U
匹配已删除但未清除的软件包~c
匹配已移除,已清除或可移除的软件包~g
匹配破坏依赖关系的软件包~b
匹配破坏 <type> 依赖关系的软件包~B<类型>
匹配 <pattern> 软件包的 <type> 依赖关系~D[<类型>:]<模式>
匹配 <pattern> 软件包破坏的 <type> 依赖关系~DB[<类型>:]<模式>
匹配依赖于 <pattern> 软件包的 <type> 依赖的软件包~R[<类型>:]<模式>
匹配依赖于 <pattern> 软件包破坏的 <type> 依赖的软件包~RB[<类型>:]<模式>
匹配其它已安装软件包所依赖的软件包~R~i
匹配没有被其它已安装软件包所依赖的软件包!~R~i
匹配其它已安装软件包所依赖或建议安装的软件包~R~i|~R推荐:~i
匹配 <pattern> 过滤版本之后的软件包~S 过滤 <模式>
匹配所有软件包(真)~T
不匹配软件包(假)~F
  • 正则表达式使用的是 ERE,就跟 egrep(1)、awk(1) 和 perl(1) 这些典型的类 Unix 文本工具中所使用的 “^”、“.*”、“$” 等是相同的。

  • 依赖关系 <type> 是一种特定的软件包相互关系(depends、predepends、recommends、suggests、conflicts、replaces、provides)。

  • 默认的 <type> 依赖关系是 “depends”。

[提示]提示

当 <regex_pattern> 为空字符串时,请立即在命令后面添加 “~T“。

下面是一些快捷方式。

  • ~P<term>“ == “~Dprovides:<term>

  • ~C<term>“ == “~Dconflicts:<term>

  • …~W term“ == “(…|term)

用户熟悉 mutt 的快速选择,因为 mutt 的灵感来源于表达式语法。参见 “用户手册” “/usr/share/doc/aptitude/README” 中的 “SEARCHING, LIMITING, AND EXPRESSIONS”。

[注意]注意

lenny 版本的 aptitude(8) 中,新的长格式语法,例如 “?broken”,在正则表达式中可以用来等效为它旧的短格式~b”。现在空格字符 “ ” 被认为是除了波浪字符 “~” 外的另一个正则表达式终止字符。新的长格式语法参见 “用户手册”。