Questão Find perde um jogo para o padrão glob, a menos que o padrão seja mais específico


Eu estava usando find para procurar um arquivo na minha máquina da seguinte forma:

find / -name version-1.0.*

e o resultado foi apenas um arquivo no meu diretório inicial, version-1.0.23. No entanto, se eu corri o seguinte:

find / -name version-1.0.1*

o resultado foi /data/somelongpath/version-1.0.19.

Por que esse segundo resultado seria omitido dos resultados no primeiro caso?


4


origem




Respostas:


Você tem um arquivo que corresponde ao glob no diretório atual, e seu shell está globbing. Fuja do glob.

find / -name 'version-1.0.*'

10



Informação extra para os leitores: "globbing" refere-se aos curingas de expansão do shell no nome completo do arquivo ou a uma lista de nomes de arquivos. O shell faz isso antes de executar o programa. - Zan Lynx