Por que localizar */nome do arquivo* funciona e localizar nome do arquivo* não?

Por que localizar */nome do arquivo* funciona e localizar nome do arquivo* não?

O seguinte está funcionando conforme pretendido:

$ locate */synse_*_r_unseen_zs.npy 
/mnt/home/dario/temp/synse_resources/language_modelling/repo_test_cadavae_5_r_val/bert/cadavae_5_r_unseen_zs.npy                                                                                                   /mnt/home/dario/temp/synse_resources/language_modelling/repo_test_synse_10_r_val/bert/synse_10_r_unseen_zs.npy 
$ locate synse_*_r_unseen_zs.npy 

Isso, no entanto, não retorna nada.

E aí?

EDITAR: Depuração:

$ echo */synse_*_r_unseen_zs.npy 
*/synse_*_r_unseen_zs.npy
$ echo /synse_*_r_unseen_zs.npy
/synse_*_r_unseen_zs.npy
$ echo synse_*_r_unseen_zs.npy
synse_*_r_unseen_zs.npy

Responder1

Ao localizar arquivos, um comando de localização que contém curingas padrão (também conhecidos como padrões globbing) procura caminhos para arquivos em seu banco de dados local. /synse_*_r_unseen_zs.npynão é um caminho completo para um arquivo, portanto locate /synse_*_r_unseen_zs.npynão retorna nada (porque os resultados da pesquisa locate synse_*_r_unseen_zs.npyno seu Ubuntu são um conjunto vazio), porém */synse_*_r_unseen_zs.npyé um caminho completo para arquivo(s), portanto locate */synse_*_r_unseen_zs.npyretorna os resultados do comando. O caractere asterisco nesses comandos é interpretado por localizar como um curinga. O asterisco pode representar qualquer número de caracteres (incluindo zero, ou seja, zero ou mais caracteres).

Responder2

Como @steeldriver mencionou, locatepor padrão anexa um *curinga ao início e ao final do termo de pesquisa (o mesmo locate abcacontece com locate *abc*)excetoquando você mesmo adiciona um curinga ao termo de pesquisa, ele não acrescenta nem precede os *curingas extras.

Portanto, embora $ locate synse_*_r_unseen_zs.npynão encontre nada porque não está acrescentando a *ao termo de pesquisa, $ locate *synse_*_r_unseen_zs.npyencontra o esperado

/mnt/home/dario/temp/synse_resources/language_modelling/repo_test_cadavae_5_r_val/bert/cadavae_5_r_unseen_zs.npy                                                                                                   /mnt/home/dario/temp/synse_resources/language_modelling/repo_test_synse_10_r_val/bert/synse_10_r_unseen_zs.npy 

informação relacionada