Pages

Saturday, April 29, 2006

Melhorando as buscas com o apt-cache

Para quem não conhece, o apt-cache é um pequeno utilitário que permite, entre outras funções, fazer buscas por determinados aplicativos em repositórios (seja Debian, Ubuntu ou outros).

Dessa forma, para realizar uma busca por um pacote, exemplo, firefox, usamos:

apt-cache search firefox

Receberá como resultado todos os pacotes cuja a palavra firefox esteja relacionada com o nome do pacote ou com a descrição. É possível limitar a busca aos nomes do pacotes apenas, mas nesse caso, pacotes como mozilla-acroread, que não possue a palavra firefox no nome ficam de fora da busca. Muitas vezes esse pacotes excluídos são exatamente o que estamos procurando.

Como melhorar a busca sem restringir ela aos nomes dos aplicativos ?

Bem, pode ser que exista várias formas de fazer isso, eu uso o sed e/ou o grep
Voltando ao exemplo, quero fazer uma busca aos pacotes relacionados com o firefox, mas não quero as definições de locale.

Nesse caso, usaríamos:

apt-cache search firefox|sed "/locale/d"

Observe que o resultado oculta todos os pacotes que possuem o termo locale na descrição ou nome de pacote.

Se ao contrário, quisermos exibir apenas os pacote de locale do firefox podemos usar:

apt-cache search firefox|grep -i "locale"

onde a opção -i é para o grep não diferenciar maiúsculas de minúsculas. Observe que o resultado dessa busca retorna apenas os pacotes com locale no nome ou na descrição (Nesse exemplo, apenas no nome).

Esse exemplo é bem simples e ilustrativo, mas você pode dispensar o uso de filtros na busca. Tente localizar todos os pacotes relacionados com uma determinada função, por exemplo, plot.

Verá que existe uma diferença muito grande em utilizar :
apt-cache search plot

E utilizar :
apt-cache search plot|sed "/^lib/d"

Aliás, usar sed "/^lib/d" é uma boa idéia na maior parte das buscas, pois dificilmente um pacote que inicie o nome com lib ajuda alguma coisa para descobrir um aplicativo qualquer - lembre-se que dificilmente não é impossível.


Technorati Tags:

No comments:

Post a Comment