用YUM搜索
搜索时,通常不使用任何正则表达式(glob),yum search
因为该命令search
已在包名称及其摘要中查找子字符串。我怎么知道 当您使用时,会有一条消息告诉您yum search
。
名称和摘要仅匹配,对所有内容使用“全部搜索”。
注意:该字符串[cl-*]
从技术上讲是Bash shell中的一个glob。
因此,通常您会寻找所需的字符串片段search
。正则表达式在您查找特定的软件包时起作用。这些是YUM命令,例如list
和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 / glob,请注意,您的外壳中是否有文件被命名为也可以匹配cl-*
。在这些情况下,您的外壳程序将先展开正则表达式/ glob,然后再提供给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
。这些文件在被shell匹配后,被传递到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-*
不是正则表达式,但它是aglob
或其他名称。它是一种常规语言(用Chomskian术语表示),但是如果它为常规语言定义了一种语法(通常使用至少三个基本操作:串联,变更和Kleene star),我们通常会说某种东西就是正则表达式。