使用多个术语和逻辑运算符进行 ubuntu 软件包搜索

使用多个术语和逻辑运算符进行 ubuntu 软件包搜索

我的意思是搜索在网上对于具有多个搜索词及其之间的逻辑运算符的 ubuntu 包。

例如,我想搜索包含以下内容的 20.04vnc软件包server描述

所以我去https://packages.ubuntu.com,输入相应的参数,这需要我这里。但这也会发现 VNC 客户端/查看器,例如

directvnc 软件包

  • 焦点(20.04LTS)(杂项):VNC 客户端使用帧缓冲区作为显示器[宇宙]
    0.7.7-1build1:amd64 arm64 armhf ppc64el s390x

甚至其他描述中不包含或的包vnc,例如server

邮件堆栈交付包

  • 焦点(20.04LTS)(邮件):过渡方案[宇宙]
    1:2.3.7.2-1ubuntu3.3 [安全]: 全部

软件包 maas-dhcp

  • focal(20.04LTS):虚拟包
    由 maas 提供

那我就不知道了:

  1. 搜索结果中包含哪些包?
  2. 如何仅过滤包含vnc AND server描述的内容?这只是我想要进行的搜索类型的一个示例。

笔记:

  1. 在示例中,我的意思是执行不区分大小写的搜索。我不知道在哪里指定它,但显然它无论如何都是适用的。
  2. 描述就是上面三个包中斜体显示的内容。
  3. 如果在 CLI 中使用apt-cache show mail-stack-delivery,则Description显示一行,其中包含与上面斜体相同的文本。然后会显示更详细的描述,但没有vncserver
  4. 我找到了一个明显的 CLI 解决方案apt-cache search ".*" | grep -i vnc | grep -i server。我至少遇到过一种不令人满意的情况:如果我不在 Ubuntu 机器前,而我想为另一个不了解 Ubuntu 的人整理一套说明。在这种情况下,我需要在线搜索。

答案1

本地阅读man apt-cache在线的给出了有趣的引述:

apt-缓存对 APT 的包缓存执行各种操作。......
搜索
search regex
所有可用的包列表执行全文搜索
......
可以使用单独的参数来指定多个搜索模式'在一起。

因此您可以在本地使用以下语法:

  • 简单的vnc server

    apt-cache search vnc server
    

    (在我的 Ubuntu MATE 18.04 LTS 上它给出了 51 个包名称)

  • 通过添加引号可以缩小结果范围

    apt-cache search "vnc server"
    

    (给出 23 个结果)


有关regex语法,请参阅man 7 regex本地或在线的

相关内容