Como obter uma lista das páginas iniciais do pacote em uma seção do repositório na linha de comando?

Como obter uma lista das páginas iniciais do pacote em uma seção do repositório na linha de comando?

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?

Gerenciador de pacotes Synaptic mostrando link para a página inicial do pacote

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 awkcolocá-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 awkimprimir 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|

informação relacionada