如何在 zypper 搜索中对术语进行 AND 运算?

如何在 zypper 搜索中对术语进行 AND 运算?

假设我想在 OpenSUSE 中搜索该数据包luasocket,但我不知道它是否叫lua-socketlua_socketliblua-socketlua5.1-socketsocket-lua或者谁知道它是什么。

因此我进行搜索:

zypper se lua socket

问题是它显示了包含lua关键字的包和包含socket关键字的包,从而使我的屏幕充满了我不想要的结果。

zypper search --help讲述以下内容:

   Command options:
     --match-all            Search for a match with all search strings (default).
     --match-any            Search for a match with any of the search strings.

--match-all似乎并没有按照我期望的方式工作。在 OpenSUSE 中搜索数据包时如何使用 AND 术语?

笔记:如果可能的话,以比以下更干净的方式:

zypper se lua | grep socket

答案1

我认为这将是您最干净的选择(如易于输入)。

在 zypper 中执行正则表达式:

从帮助屏幕:

* and ? wildcards can also be used within search strings.
If a search string is enclosed in '/', it's interpreted as a regular expression.

答案2

你可以试试:

zypper se 'lua*socket'

答案3

尝试使用正则表达式和/或更多模式搜索,如下所示:

sudo zypper search /lib.*Qt.*Chart/ /lib.*Qt.*Web/

如手册页中所述

search (se) [options] [querystring|capability]...
       Search for packages matching any of the given search strings. * and ? wildcard characters can be used within search strings. If the search string is enclosed in /  (e.g. /^k.*e$/) it’s interpreted as a regular expression. See the install command for details about how to specify a capability.

答案4

您可以使用zypper se mysql

并且您将通过“mysql”获得所有信息,然后您可以找到您真正想要的!

相关内容