YUMで検索
yum search
コマンドsearch
はすでにパッケージ名とその要約内のサブストリングを検索しているため、で検索するときは通常、正規表現(グロブ)を使用しません。どうすればわかりますか?を使用するときにこれを通知するメッセージがありますyum search
。
名前と要約の一致のみ。すべてに対して「すべて検索」を使用します。
注:文字列[cl-*]
は技術的にはBashシェルのグロブです。
したがって、通常は、使用したい文字列のフラグメントを探しますsearch
。正規表現は、特定のパッケージを探すときに役立ちます。これらは、list
およびのようなYUMコマンドinstall
です。
例えば:
$ yum list cl-* | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.dmacc.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.dmacc.net
Available Packages
cl-asdf.noarch 20101028-5.fc19 fedora
cl-clx.noarch 0.7.4-4.3 home_zhonghuaren
cl-ppcre.noarch 2.0.3-3.3 home_zhonghuaren
regexes / globsに注意する必要がある唯一の警告は、シェル内に、それらも一致するような名前のファイルがある場合cl-*
です。これらの場合、シェルはYUMに提示される前に正規表現/グロブを展開します。
したがって、regex / globと一致するファイルがある場合yum list cl-*
は、実行する代わりにコマンドを実行します。yum list cl-file
cl-*
例えば:
$ ls cl-file
cl-file
$ yum list cl-*
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.steadfast.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.steadfast.net
Error: No matching Packages to list
次のようにワイルドカードをエスケープすることで、これを防ぐことができます。
$ yum list cl-\* | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.dmacc.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.dmacc.net
Available Packages
cl-asdf.noarch 20101028-5.fc19 fedora
cl-clx.noarch 0.7.4-4.3 home_zhonghuaren
cl-ppcre.noarch 2.0.3-3.3 home_zhonghuaren
括弧はどうですか
の[cl-*]
引数として使用したときに一致するファイルがローカルディレクトリにあると思いますyum search
。これらのファイルは、シェルで照合された後、一致するyum search
場所でコマンドに渡され、一致が検出されました。
例えば:
$ ls cl-file
cl-file
$ yum search cl-*
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.dmacc.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.dmacc.net
======================================================================= N/S matched: cl-file =======================================================================
opencl-filesystem.noarch : OpenCL filesystem layout
Name and summary matches only, use "search all" for everything.
注:上記の一致は、ファイル名と照合されましたが、意図したとは照合されcl-file
ませんでしたcl-*
。
cl-*
、正規表現ではありませんが、それはglob
何と呼ばれるものでもあります。これは通常の言語です(チョムスキー語で)が、通常、それが正規言語の文法を定義する場合(少なくとも3つの基本操作(連結、変更、およびクリーネスター)を使用して)は正規表現であると言います。