¿Por qué localizar */nombre de archivo* funciona y localizar nombre de archivo* no?

¿Por qué localizar */nombre de archivo* funciona y localizar nombre de archivo* no?

Lo siguiente está funcionando según lo previsto:

$ 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 

Sin embargo, esto no devuelve nada.

¿Qué pasa?

EDITAR: Depuración:

$ 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

Respuesta1

Al localizar archivos, un comando de localización que contiene comodines estándar (también conocidos como patrones globales) busca rutas a archivos en su base de datos local. /synse_*_r_unseen_zs.npyno es una ruta completa a un archivo, por lo que locate /synse_*_r_unseen_zs.npyno devuelve nada (porque los resultados de búsqueda locate synse_*_r_unseen_zs.npyen su Ubuntu son un conjunto vacío), sin embargo, */synse_*_r_unseen_zs.npyes una ruta completa a los archivos, por lo que locate */synse_*_r_unseen_zs.npydevuelve los resultados del comando. El carácter de asterisco en estos comandos se interpreta como un comodín. El asterisco puede representar cualquier número de caracteres (incluido cero, en otras palabras, cero o más caracteres).

Respuesta2

Como mencionó @steeldriver, locatede forma predeterminada se adjunta un *comodín al principio y al final del término de búsqueda (así locate abces en realidad locate *abc*)exceptocuando usted mismo agrega un comodín al término de búsqueda, no agrega ni antepone los *comodines adicionales.

Entonces, aunque $ locate synse_*_r_unseen_zs.npyno encuentra nada porque no antepone a *al término de búsqueda, $ locate *synse_*_r_unseen_zs.npyencuentra el resultado 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 

información relacionada