pesquisando com o YUM
Você geralmente não usa expressões regulares (globs) ao pesquisar com yum search
, pois o comando search
já está procurando sub-strings nos nomes de pacotes e seus resumos. Como eu sei disso? Há uma mensagem que diz isso quando você usa yum search
.
Name and summary matches only, use "search all" for everything.
NOTA: A string [cl-*]
é tecnicamente um glob no shell Bash.
Portanto, você geralmente procura fragmentos de sequências que deseja com search
. As expressões regulares entram em jogo quando você está procurando pacotes específicos. Estes são os comandos do YUM, como list
e 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
A única ressalva que você precisa ter cuidado com regexes / globs é se houver arquivos dentro do shell com nomes que também correspondam a cl-*
. Nesses casos, seu shell expandirá o regex / glob antes de ser apresentado ao YUM.
Então, em vez de executar yum list cl-*
, você executará o comando yum list cl-file
, se houver um arquivo correspondente à regex / glob 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
Você pode evitar que isso aconteça escapando do curinga da seguinte forma:
$ 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
Então, e os colchetes
Eu suspeito que você tenha arquivos em seu diretório local que estão sendo correspondidos quando você usou [cl-*]
como um argumento para yum search
. Esses arquivos depois de serem correspondidos pelo shell, foram passados para o comando yum search
onde correspondências foram encontradas.
$ 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.
OBSERVAÇÃO: A correspondência acima foi comparada com o nome do meu arquivo, cl-file
, e não com o cl-*
como eu pretendia.