首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Brew中找到已安装文件的包?

如何在Brew中找到已安装文件的包?
EN

Stack Overflow用户
提问于 2013-11-11 20:52:11
回答 6查看 43.8K关注 0票数 65

我如何识别给定文件的包/公式,或者一个包的所有自有文件的列表?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-11-18 05:04:04

要查看包中的所有文件,请执行以下操作:

代码语言:javascript
复制
brew ls <package>

要查找文件的包,请如下所示:

代码语言:javascript
复制
ls -l /usr/local/bin/whatever

如果它是由Homebrew安装的,它将是/usr/local/Cellar/something的一个符号链接,因此它将告诉您它来自哪个包。

票数 105
EN

Stack Overflow用户

发布于 2016-04-14 12:18:43

刚刚编写了这个脏函数以获得一个文件所属的brew包名称:

代码语言:javascript
复制
function brew_find_pkg {
    file_to_search="$@"

    for package in $(brew list); do
        brew ls $package | grep -E -q "/${file_to_search}$"
        if [ $? -eq 0 ]; then
            echo $package
            break
        fi
    done
}

在终端机上输入。然后要找到一个文件所属的brew包,比如文件gsed,只需像下面这样调用这个函数

代码语言:javascript
复制
brew_find_pkg gsed

请注意,如果提供文件的完整路径,则该函数将无法工作。

票数 8
EN

Stack Overflow用户

发布于 2016-04-06 20:31:50

包名可以根据指向二进制(Cellar/PACKAGE/...)的符号链接来确定。

代码语言:javascript
复制
$ ls -la $(which awk) # => gawk
lrwxr-xr-x 1 kenorb 28 May 20  2015 /usr/local/bin/awk -> ../Cellar/gawk/4.1.1/bin/awk

$ ls -la $(which seq) # => coreutils
lrwxr-xr-x 1 kenorb 14 Apr  8  2015 /usr/local/opt/coreutils/libexec/gnubin/seq -> ../../bin/gseq
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19915683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档