TransFreeBSDの日記 このページをアンテナに追加 RSSフィード

2007-02-06

[]pkg_infoのパッケージ名指定あれこれ pkg_infoのパッケージ名指定あれこれ - TransFreeBSDの日記 を含むブックマーク

はてブ経由「pkg_info」(Site Administration Courseより)で今更ながらにpkg_infoのオプション「-x」を知る。最近こういうのが多い。というわけでちょっとはmanを読んだまとめを書いてみる。

基本

pkg_info パッケージファイル
pkg_info パッケージへのURL
pkg_info パッケージ

シェルワイルドカード

インストール済みのパッケージを指定する際はデフォルトシェル風のワイルドカードが使える。

pkg_info 'perl*'
pkg_info 'perl-[0-9].?.*'

なお、これは「-G」で抑制できる。

バージョン指定

指定したバージョンに対し{等しい,大きい,小さい,以上,以下}をそれぞれ{=,>,<,>=,<=}を使って表現できる。

pkg_info 'perl=5.8.8'
pkg_info 'perl>5.8'
pkg_info 'perl<6'

これも「-G」で抑制される。

パス風指定

パッケージ名指定に際し、末尾を除くスラッシュより前および末尾のスラッシュを無視する。これによりパス名補完機能を利用してパッケージ名の指定ができる。

pkg_info foo/perl-5.8.8
pkg_info perl-5.8.8/
pkg_info /var/db/pkg/perl-5.8.8/

これはmanに記述がないっぽい。あと「-G」でも抑制されない。

三種混合

pkg_info 'foo/per?<6/'

とかできなくもない。

正規表現「-x」

オプション「-x」で正規表現が使えるようになり、部分マッチしたものが対象となる。つまりgrep風。

pkg_info -xI 'perl'
pkg_info -xI '^p5-.*[_,]'

拡張正規表現「-X」

オプション「-X」で拡張正規表現が使えるようになり、部分マッチしたものが対象となる。つまりegrep風。

pkg_info -XI 'apache|mod_'
pkg_info -XI '[0-9]{8}'
トラックバック - http://freebsd.g.hatena.ne.jp/TransFreeBSD/20070206