Eu multiarch
habilitei e, quando executo debtags search
, recebo muitos resultados duplicados.
$ debtags search 'works-with-format::man' | head
docbook-to-man - converter from DocBook SGML into roff man macros
docbook-to-man:i386 - converter from DocBook SGML into roff man macros
docbook-utils - Convert DocBook files to other formats (HTML, RTF, PS, man, PDF)
docbook2x - Converts DocBook/XML documents into man pages and TeXinfo
docbook2x:i386 - Converts DocBook/XML documents into man pages and TeXinfo
doclifter - Convert troff to DocBook
dwww - Read all on-line documentation with a WWW browser
dwww:i386 - Read all on-line documentation with a WWW browser
ebook-speaker - eBook reader that reads aloud in a synthetic voice
ebook-speaker:i386 - eBook reader that reads aloud in a synthetic voice
Existe uma solução alternativa usando grep
:
$ debtags search 'works-with-format::man' | grep -v ':i386 - ' | head
docbook-to-man - converter from DocBook SGML into roff man macros
docbook-utils - Convert DocBook files to other formats (HTML, RTF, PS, man, PDF)
docbook2x - Converts DocBook/XML documents into man pages and TeXinfo
doclifter - Convert troff to DocBook
dwww - Read all on-line documentation with a WWW browser
ebook-speaker - eBook reader that reads aloud in a synthetic voice
git-man - fast, scalable, distributed revision control system (manual pages)
gman - small man(1) front-end for X
gmanedit - GTK+ man pages editor
gnulib - GNU Portability Library
Isso pressupõe que a string :i386 -
não apareça em nenhuma descrição de pacote, o que é um pouco complicado. Existe uma maneira melhor?
Isso irá memorizar os pacotes vistos (no
seen
índice do array), independentemente da arquitetura (portanto, usando espaço e:
como separador) e não os imprimirá novamente se já forem vistos. Assim, ele também exibirá um pacote que existiria apenas em i386 e não na arquitetura padrão (amd64) (por exemplo:zsnes:i386
marcado comhardware::emulation
não existe comozsnes
(ou seja,zsnes:amd64
)). Como os pacotes sem arquitetura explícita mostrada vêm primeiro (nos algoritmos de pré-ordenação de dívidas...), não há necessidade de se preocupar em exibir extras:i386
, a menos que seja necessário.ATUALIZAÇÃO: como desejado, o mesmo script awk em um arquivo de script autônomo colocado como /usr/local/bin/debtagsfilter com este conteúdo
e tornado executável com (
chmod a+rx /usr/local/bin/filterdebtags
) pode ser usado, por exemplo, com:debtags search 'works-with-format::man' | filterdebtags
Ou, se for preferida uma versão "nova" de dívidas chamadas
/usr/local/bin/debtagswithfilter
(portanto, voltando àsh
linguagem de script invocada):compare (obtenho duplos simples, talvez por causa de várias fontes de repositório):
[...]
com:
[...]
Também funciona bem com solicitações de pesquisa mais complexas: