Você está procurando grep-dctrl , que faz parte do dctrl-tools package.
Por exemplo:
$ grep-dctrl -ns Package -F Filename mplayer2_2.0~git20120817-dmo1_amd64.deb www.deb-multimedia.org_dists_wheezy_main_binary-amd64_Packages
mplayer2
-n
significa imprimir apenas o valor dos campos, não o rótulo. -s Package
significa imprimir apenas o campo Pacote. -F Filename
significa procurar apenas o campo do nome do arquivo. mplayer2…deb
é o que procurar. www…_Packages
é o arquivo a ser pesquisado.
Não tenho certeza se ele pesquisará um arquivo .gz diretamente, mas ele pesquisará stdin, para que você possa usar apenas um canal: zcat Packages.gz | grep-dctrl …
edit: Dado que você tem o% real.deb
, não apenas o nome do arquivo, você também pode usar dpkg-deb
para obter as informações. Aqui está um exemplo com wireshark:
$ dpkg-deb --showformat='${package}\n' -W a.deb
wireshark
e, para explicar --showformat
, permite formatar a saída (aqui, obtendo apenas o nome do pacote, em vez de pacote e versão, que é o padrão); -W
diz para imprimir informações formatadas sobre um pacote binário. a.deb
é, claro, o pacote .deb para imprimir informações sobre (eu o renomeio para mostrar que ele não está apenas cuspindo o nome do arquivo).