Fedoraの帽子文書説明する:
5.2。高度な検索
パッケージ名がわからない場合は、検索を使用するか、オプションを指定してください。または、yum検索オプションと一緒にワイルドカードまたは正規表現を使用して検索基準を広げることもできます。
まあ、最初は一緒に使うことができる既知の正規表現構文がないので、これは完全に間違っているか古いと思いましたが、後でyum search
知りました。これ:yum search [cl-*]
例えば。しかしそれは別の世界的な仕事をします。名前または説明に「c」または「l」文字が含まれていないコンテンツを見つけます。 (私が望むのは、名前が正規表現に一致するすべてのパッケージを見つけることです)cl-.*
。
私はyumの結果にパイピングすることを提案する人をほとんど見つけませんでした。grep
これは間違いなく問題を解決します。しかし、原則として、角かっこ内の内容が何をしているのか知りたいです。yum
実際に正規表現で検索できればどうでしょうか?
ベストアンサー1
YUMで検索
yum search
通常、コマンドはパッケージsearch
名とそのダイジェスト内の部分文字列をすでに見つけるため、検索では正規表現(glob)は使用されません。これをどうやって知ることができますか?使用時にこれを知らせるメッセージが表示されますyum search
。
名前とスニペットのみが一致します。すべてのアイテムにすべて検索を使用してください。
メモ:技術的には、この文字列[cl-*]
はBashシェルのglobです。
したがって、通常は目的の文字列を見つけます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
regex / globに注意すべき唯一の注意点は、シェルに同じ名前のファイルがある場合ですcl-*
。この場合、シェルは YUM 拡張に提供する前に regex/glob を解析します。
したがって、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-*
。