在 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)"
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)"