Mac OS X用に homebrew を使用してインストールできるすべての式(パッケージ)のリストを取得する方法はありますか?
あなたは formulae.brew.sh を訪れることができます。
すべての式のパッケージ名だけが欲しい場合は、
brew search
次のコマンドは、すべての既存の自作式の情報スニペットを一覧表示します。
brew info --all
あるいはMk12のおかげで、ローカルのGitリポジトリを閲覧することができます。
find /usr/local/Homebrew/ -type d -name "Formula" -exec ls -1 {} \;
Slhckが述べたこととは別に、 braumeister.orgで利用可能なオンラインパッケージブラウザがあります
また、 自作公式インデックス Webサイト(つまり、 私のプロジェクト )を見ることもできます。このウェブサイトの目的は、自作式を検索する簡単な方法を提供することです。
技術的には、上記の@ pengii23が提供する答えは正しいですが、私たちが知っているように、JSONは理解するのがそれほど簡単ではありません。さらに、4546パッケージで266,000行以上の出力、つまり1パッケージあたり56行を超える出力が発生します。
私たちが本当に欲しいのは単にパッケージ名とパッケージの説明だけです。形式は次のようになります。
package -- description goes here
pack2 -- other description goes here
さて、あなたがbrew install gron
を実行したならば、それから私はあなたのために上記の出力のタイプを生成するであろうコマンドラインのdoozyを持っています:
$ brew info --json=v1 --all | gron | egrep '(.desc|.full_name) =' | \
grep -v 'runtime_dependencies' | sed 's/full_name/_name/' | \
gron -u | egrep -v '({|}|\[|\])' | \
sed -e 's/^.*"_name": //' -e 's/^.*"desc": //' | tr -d '\n' | \
sed -e 's/""/^I/g' -e 's/","/ -- /g'| tr '\t' '\n' | tr -d '"'
上の行のリテラル「^ I」を実際のタブ文字に置き換える必要があることに注意してください。どういうわけか、私のsedは文字通りのタブ文字の代わりに '\ t'を好みません、そしてもちろん本物のタブ文字をカットアンドペーストすることはここではうまくいかないでしょう。
とにかく、これは上のコマンドからの出力の最初の数行です:
a2ps -- Any-to-PostScript filter
a52dec -- Library for decoding ATSC A/52 streams (AKA 'AC-3')
aacgain -- AAC-supporting version of mp3gain
aalib -- Portable ASCII art graphics library
aamath -- Renders mathematical expressions as ASCII art
aap -- Make-like tool to download, build, and install software
aardvark_Shell_utils -- Utilities to aid Shell scripts or command-line users
abcde -- Better CD Encoder
abcl -- Armed Bear Common LISP: a full implementation of Common LISP
abcm2ps -- ABC music notation software
そして、上記のコマンドからの出力の最後の数行は以下のとおりです。
zssh -- Interactive file transfers over SSH
zstd -- Zstandard is a real-time compression algorithm
zsxd -- Zelda Mystery of Solarus XD
zsync -- File transfer program
zurl -- HTTP and WebSocket client worker with ZeroMQ interface
zxcc -- CP/M 2/3 emulator for cross-compiling and CP/M tools under UNIX
zxing-cpp -- C++ port of the ZXing barcode decoder
zyre -- Local Area Clustering for Peer-to-Peer Applications
zzuf -- Transparent application input fuzzer
zzz -- Command-line tool to put Macs to sleep
そこに行きます!あなたがその出力をファイルにリダイレクトするなら、あなたはそれからあなたが探しているどんな種類の記述でもすぐにファイルをgrepすることができます。
たとえば、圧縮コマンドを探している場合、brew search compress
を実行することはあまり役に立ちません。
$ brew search compress
==> Searching local taps...
htmlcompressor ncompress yuicompressor
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...
しかし、上記のコマンドの出力を/tmp/brew.txt
内のファイルに保存した場合、単純なgrep compress /tmp/brew.txt
は60ヒットを返します。最初のいくつかを見てみましょう。
$ grep -i compress /tmp/brew.txt | head
advancecomp -- Recompression utilities for .PNG, .MNG, .Zip, and .GZ files
afsctool -- Utility for manipulating HFS+ compressed files
aften -- Audio encoder which generates ATSC A/52 compressed audio streams
archivemail -- Tool for archiving and compressing old email in mailboxes
brotli -- Generic-purpose lossless compression algorithm by Google
bzip2 -- Freely available high-quality data compressor
draco -- 3D geometric mesh and point cloud compression library
ecm -- Prepare CD image files so they compress better
epsilon -- Powerful wavelet image compressor
exomizer -- 6502 compressor with CBM PET 4032 support
brotli
やzstd
のような高度な圧縮プログラムを探していても、正確な名前がわからない場合は、brew search compress
を使用しても意味がありませんが、上記のコマンドの出力を調べてもこれら2つが返されますさらに58ヒット!
どういたしまして! ;)
[編集:おっと!前のバージョンのスクリプトからruntime_dependencies
を削除するのを忘れてしまいました。ため息……]
あなたはコマンドを使って自作式をリストすることができます
brew search
または http://formulae.brew.sh/ (または http://braumeister.org/ - を使ってWeb上で閲覧することもできます。同じページのようです)。
ただし、 Cask という自作拡張機能を使用してインストールできる追加のパッケージがあります。 GIMP、LibreOffice、TeamViewerのような非 FOSS アプリケーションのようなビルド済みのバイナリアプリケーションをダウンロードしてインストールすることができます。キャスクは以下を使ってリストすることができます
brew cask search
https://caskroom.github.io/search を検索してください。
grep desc $(brew --prefix)/Library/Formula/*.rb | Perl -ne 'm{^.*/(.*?)\.rb.*?\"(.*)"$} and print "$1\t$2\n"'
2016年5月27日現在、ちょうど
brew info --all
すべての式をリストするには不十分です。さらに--json = v1スイッチを追加する必要があります(現在、v1のみがサポートされています。これは、brew info --helpと入力すると表示されます)。
brew info --json=v1 --all