Respostas:
Outra abordagem seria usar a correspondência de padrões em locate:
locate '/some/directory/*filename*'
Compare a saída dos comandos abaixo:
$ 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á o mesmo resultado.
$ locate '/usr/lib64/*tmpfile'não retornará resultados.
locatemeio grep.
Crie um banco de dados slocate para seu diretório específico com:
updatedb -U /path/to/directory
e pesquise com:
locate <search_string>
ATUALIZAR
Isso funciona bem no meu sistema Gentoo, mas o CentOS não inclui a -Uopção. Então, você pode tentar abaixo:
Crie o banco de dados com:
# updatedb -U /path/to/dir -o dir_locate.db
e pesquise:
# locate -d dir_locate.db <search_string>
updatedb: can not change group of file 'db.db.kHhzFz' to 'mlocate': Operation not permitted verifique como usar o comando updatedb como um usuário comum no linux .
locatepesquisa em um diretório especificado: Quandoalias my_locate="updatedb -U /path/to/yourdir -o /path/to/your_dir_locate.db; locate -d /path/to/dir_locate.db "o apelido estiver em vigor, digite o tipo de terminalmy_locate *foo*e você estará pronto para as corridas. Você pode concatenar as atualizações do banco de dados e localizar a pesquisa usando o caractere de dois pontos para concaturar os bancos de dados. rtfm: linux.die.net/man/8/updatedb