Há um tempo atrás perguntei aqui sobrecomo obter a lista de pacotes em uma seção do repositório na linha de comando.
De acordo com o Synaptic Package Manager, muitos desses pacotes apresentam uma página inicial. Como posso adicionar isso à minha lista de pacotes gerada automaticamente na linha de comando?
Não parece ser tão simples quanto adicionar uma opção de argumento a qualquer uma das respostas anteriores.
Responder1
Você poderia estenderA resposta de Braimpara apenas recuperar os nomes dos pacotes, obter as informações completas do pacote para cada um e awk
colocá-las no formato.
aptitude -F'%p' search '?section(hamradio) ?architecture(amd64)' \
| xargs apt-cache show \
| awk '/^Package/ {printf("\n"$2)} /^Homepage/ {printf (": "$2)}'
Estou adicionando um limite de arquitetura adicional à consulta para impedir (no meu caso) a passagem de duplicatas na arquitetura i386. Você poderia omitir isso se quisesse.
acfax
aldo
antennavis: http://www.include.gr/antennavis.html
aprsd: http://sourceforge.net/projects/aprsd/
aprsdigi: http://aprsdigi.sourceforge.net/
Os dois primeiros não possuem páginas iniciais especificadas. Os três últimos sim.
Se você quiser apenas aqueles com homepage, sugiro mudar para awk
imprimir apenas quando encontrar uma homepage. Armazenaremos o nome do pacote em uma variável. Igual a:
... | awk '/^Package/ {p=$2} /^Homepage/ {printf ("%s: %s\n", p, $2)}'
Responder2
eu limpeiA ótima resposta de Olie fez issocondicional. O $1="";sub(FS,"");
hack do código elimina o primeiro Description-en:
campo e o separador de campo de espaço único, tudo de uma forma muito concisa. Isso éexplicado aqui.
aptitude -F'%p' search '~r native ~s hamradio' \
|xargs apt-cache show \
|awk '/^Package/{name=$2} \
/^Description-en/{$1="";sub(FS,"");description=$0}
/^Description-en/{description=$0} \
/^Homepage/{url=$2} \
/^$/{if(url) {printf("|["name"]("url")|"description"|\n"); url=""} \
else {printf("|"name"|"description"|\n")}}'
Agora rende completoTabela Pandoc Markdownlinhas, que eventualmente são convertidas em umTabela HTML no meu site.
|acfax|Receive faxes using your radio and sound card|
|aldo|Morse code training program|
|[antennavis](http://www.include.gr/antennavis.html)|antenna radiation pattern visualization software|
|[aprsd](http://sourceforge.net/projects/aprsd/)|Internet Gateway for the Automatic Position Reporting System|
|[aprsdigi](http://aprsdigi.sourceforge.net/)|digipeater for APRS|
|[ax25-apps](http://aprsdigi.sourceforge.net/)|AX.25 ham radio applications|
|[ax25-node](http://aprsdigi.sourceforge.net/)|Amateur Packet Radio Node program|
|[ax25-tools](http://aprsdigi.sourceforge.net/)|tools for AX.25 interface configuration|
|[ax25-xtools](http://aprsdigi.sourceforge.net/)|tools for AX.25 interface configuration -- X11-based|
|[ax25mail-utils](http://aprsdigi.sourceforge.net/)|hamradio utilities for fbb|