Existem várias maneiras de filtrar a saída de locate
.
Método 1 - seja explícito
Se você sabe que está procurando por uma versão específica da biblioteca, basta perguntar locate
diretamente.
$ locate libstdc++-3-libc6.2-2-2.10.0.so
/usr/lib/libstdc++-3-libc6.2-2-2.10.0.so
Método # 2 - grep
Se você estiver procurando por bibliotecas glibc .so, use grep
para localizar somente esses resultados em locate
.
$ locate libstdc++ | grep ".so$"
/usr/lib/libstdc++-3-libc6.2-2-2.10.0.so
/usr/lib/gcc/x86_64-redhat-linux/4.4.4/libstdc++.so
/usr/lib/gcc/x86_64-redhat-linux/4.4.4/32/libstdc++.so
Método # 3 - somente retorna as 10 primeiras linhas do resultado
Se você estiver mais interessado em encontrar os primeiros resultados, use head
para retornar apenas os primeiros. Você pode direcionar head
para retornar diferentes números de resultados usando a opção -#
(menor, mas não padrão, equivalente a -n #
):
Exemplo
$ locate glibc | head -8
/usr/lib64/glib-2.0/include/glibconfig.h
/usr/sbin/glibc_post_upgrade.i686
/usr/sbin/glibc_post_upgrade.x86_64
/usr/share/aclocal/glibc2.m4
/usr/share/aclocal/glibc21.m4
/usr/share/doc/glibc-2.12
/usr/share/doc/glibc-common-2.12
/usr/share/doc/glibc-2.12/BUGS
(note que ele retorna 8 linhas, que não é necessariamente o mesmo que caminhos de arquivo, pois caminhos de arquivo podem ser feitos de várias linhas, já que o caractere de nova linha é tão válido quanto qualquer outro em um nome de arquivo).