我想在 FreeBSD 软件包中搜索几个词使用 pkg
命令
例如,如果我想搜索描述中带有“web server”字样的所有包,有人会尝试这样做:
pkg search web server
但它不起作用。带引号也不行。
答案1
怀疑您想搜索您使用的两个词grep
:
pkg search web |grep server
根据pkg
文档,该命令应该有效:
pkg -g search "web server"
您可以添加-i
使搜索不区分大小写
答案2
看一眼https://freshports.org,有一个非常好的过滤系统来指定您正在寻找的内容。
要从命令行执行此操作,您需要寻找-S
标志和选项。
默认情况pkg
下,搜索pkg-name
。这意味着,如果您输入 ,pkg search webserver
它将查找webserver
名称中包含 的包。您可能遇到过这种情况,这无法找到许多 Web 服务器。事实上,对我来说,它返回了 0 个结果。该-S
标志允许我们指定是否希望按pkg-name
、description
、comment
、name
或进行搜索origin
。
使用这个命令,可以pkg search -S description "web server"
返回更多信息。我相信比你正在寻找的还要多。这将显示其中包含的每个包的完整描述web server
。因此,假设我们想要搜索所有描述为“Web 服务器”的包,但只返回这些包的名称。我们可以应用一个额外的标志-L
,将其压缩为包名称。
下面是一个更清洁的选项,可能是您正在寻找的。
pkg search -S description -L name "web server"
注意:-S
和-L
区分大小写,pkg help search
有关更多详细信息,请参阅命令。
如果您遇到问题,请务必参考文档和手册页!
- FBSD 文档 -https://docs.freebsd.org/
- pkg 手册页 -https://man.freebsd.org/cgi/man.cgi?pkg(8)
我希望这也能帮助并告知其他人。