在 Aptitude 中搜索包时如何使用逻辑运算符?

How can I use logical operators when searching for packages in Aptitude?

1) 如何搜索匹配 "word1 or word2" 和 aptitude 的包?

2) 如何搜索匹配 "word1 and word2" 和 aptitude 的包?

看看aptitude search pattern quick reference

pattern1 | pattern2: Select packages that match pattern1, pattern2, or both.

pattern1 pattern2: Select any package that matches both pattern1 and pattern2.

因为这是一个管道,如果你是来自 shell 的 运行 aptitude,确保它被转义或在一个字符串中;它对 shells 有特殊意义。

我最初从文档中也不清楚这一点。就我而言,我想搜索与名称匹配并已安装的包。

无论如何,关键是 每个参数 是一个 space 分隔的条件列表,这些条件是 AND 运算,每个参数是 OR 运算。所以:

$ aptitude search "foo bar"

将搜索所有包含字符串 foo 字符串 bar

的包

其中:

$ aptitude search foo bar

将搜索所有包含 foo bar

的包

然后您可以将其与其他 conditions that aptitude accepts 结合使用,例如:

$ aptitude search "~i python"

将列出名称中包含字符串 python 的所有 已安装

还有其他方法可以做到这一点。例如:

$ aptitude search "?and(foo, bar)"
$ aptitude search "?or(foo, bar)"