デフォルトでは、検索クエリーは、大文字と小文字を除いて完全一致する一連の用語です。大文字と小文字を区別する検索を指定する場合は、-I オプションを使用します。
クエリー用語には、? と * のワイルドカードを使用できます。フレーズを検索するには、単一引用符または二重引用符を使用します。ワイルドカードや引用符を使用するときは、使用しているシェルを必ず考慮してください。
複数のクエリー用語を指定できます。デフォルトで、複数の用語は AND で結合されます。OR で 2 つの用語を明示的に結合できます。
検索クエリーは次の構造化された形式で表現できます。
package:action:index:token
検索するパッケージの名前または複数のパッケージに一致するパターン。
pkg(5) のマニュアルページのアクションに関するセクションに一覧表示されているアクションの名前。
pkg(5) のマニュアルページのアクションに関するセクションに一覧表示されている action の属性の名前。
index の値または index の値に一致するパターン。
欠けているフィールドは、暗黙的にワイルドカード化されます。
すべての属性が検索可能なわけではありません。たとえば、mode は file アクションの属性ですが、mode は index の有効な値ではありません。
index の一部の値は、ほかの属性から派生した値です。たとえば、index に basename を指定できますが、これは file または dir アクションの path 属性の最後のコンポーネントです。index の便利な値には、file および dir アクションの basename と path、depend アクションの依存関係タイプ (require や group など)、driver アクションの driver_name と alias などがあります。
token の値は、index で指定された属性の値と比較されます。たとえば、次に示す部分的な driver アクションの場合、index には属性名 alias を指定し、token には pci108e* を指定できます。
driver alias=pci108e,1647 alias=pci108e,16a7
set アクションの構文は少し違います。set アクションの 2 つの属性は、name と value です。この場合、index の値は name 属性の値であり、token の値は一致する value 属性の値と比較されます。次の例は、ドライバパッケージに対する部分的な set アクションを示しています。
set name=pkg.summary value="Broadcom NetXtreme II 10GbE NIC Driver"
次の例は、action に set を、index に pkg.summary を、token に Broadcom を指定します。search.match および pkg.name 列指定子は疑似属性です。pkg(1) のマニュアルページを参照してください。
$ pkg search -o search.match,pkg.name pkg.summary:Broadcom SEARCH.MATCH PKG.NAME Broadcom NetXtreme II 10GbE NIC Driver driver/network/ethernet/bnxe Broadcom 57xx 1GbE NIC Driver driver/network/ethernet/bge Broadcom NetXtreme II 1GbE NIC Driver driver/network/ethernet/bnx Broadcom BCM4401 NIC Driver driver/network/ethernet/bfe Broadcom HT1000 SATA driver driver/storage/bcm_sata
set アクションの name 属性の明確に定義された値には、pkg.fmri、info.classification、pkg.description、pkg.summary などがあります。pkg(5) のマニュアルページの設定アクションに関する項目を参照してください。
デフォルトでは、現在インストールされているパッケージバージョン以上の一致のみが表示されます。一致したすべてのバージョンを表示するには、-f オプションを使用します。
デフォルトでは、一致するすべてのアクションについて結果が表示されるため、1 つのパッケージに複数行の結果が生成されることがあります。一致する各パッケージを 1 回だけ表示するには、-p オプションを使用します。