Risposte:
Un altro approccio sarebbe quello di utilizzare la corrispondenza del modello in locate:
locate '/some/directory/*filename*'
Confronta l'output dei comandi di seguito:
$ locate tmpfile
/usr/lib64/perl5/auto/POSIX/tmpfile.al
/usr/share/man/fr/man3/tmpfile.3.gz
/usr/share/man/ja/man3/tmpfile.3.gz
/usr/share/man/man3/tmpfile.3.gz
/usr/share/man/man3p/tmpfile.3p.gz
$
$ locate '/usr/lib64/*tmpfile*'
/usr/lib64/perl5/auto/POSIX/tmpfile.al
$
locate /usr/lib*tmpfile* dà lo stesso risultato.
$ locate '/usr/lib64/*tmpfile'verrà restituito alcun risultato.
locatethrough grep.
Crea database slocate per la tua directory specifica con:
updatedb -U /path/to/directory
e cerca con:
locate <search_string>
AGGIORNARE
Funziona bene sul mio sistema Gentoo ma CentOS non include l' -Uopzione. Quindi, puoi provare di seguito invece:
Costruisci il database con:
# updatedb -U /path/to/dir -o dir_locate.db
e cerca:
# locate -d dir_locate.db <search_string>
updatedb: can not change group of file 'db.db.kHhzFz' to 'mlocate': Operation not permitted controlla come usare il comando updateb come un normale utente su Linux .
locatericerca all'interno di una directory specificata:alias my_locate="updatedb -U /path/to/yourdir -o /path/to/your_dir_locate.db; locate -d /path/to/dir_locate.db "Una volta che l'alias è efficace, sul tipo di terminalemy_locate *foo*e sei pronto per le gare. È possibile concatenare gli aggiornamenti del database e individuare la ricerca utilizzando il carattere due punti per concatenare i database. rtfm: linux.die.net/man/8/updatedb