¿Cómo obtener una lista de las páginas de inicio del paquete en una sección del repositorio desde la línea de comando?

¿Cómo obtener una lista de las páginas de inicio del paquete en una sección del repositorio desde la línea de comando?

Hace un tiempo pregunté aquí sobrecómo obtener la lista de paquetes en una sección del repositorio desde la línea de comando.

Según Synaptic Package Manager, muchos de estos paquetes cuentan con una página de inicio. ¿Cómo puedo agregar esto a mi lista de paquetes generada automáticamente desde la línea de comando?

Administrador de paquetes Synaptic que muestra el enlace a la página de inicio del paquete

No parece tan sencillo como agregar una opción de argumento a cualquiera de las respuestas anteriores.

Respuesta1

podrías extenderla respuesta de braimpara simplemente recuperar los nombres de los paquetes, luego obtener la información completa del paquete para cada uno, y awkeso para el formato.

aptitude -F'%p' search '?section(hamradio) ?architecture(amd64)' \
| xargs apt-cache show \
| awk '/^Package/ {printf("\n"$2)} /^Homepage/ {printf (": "$2)}'

Estoy agregando un límite de arquitectura adicional a la consulta para detener (en mi caso) la aparición de duplicados en la arquitectura i386. Podrías omitir eso si quisieras.

acfax
aldo
antennavis: http://www.include.gr/antennavis.html
aprsd: http://sourceforge.net/projects/aprsd/
aprsdigi: http://aprsdigi.sourceforge.net/

Los dos primeros no tienen páginas de inicio especificadas. Los tres últimos sí.

Si solo desea los que tienen páginas de inicio, le sugiero cambiarlos awkpara imprimir solo cuando encuentre una página de inicio. Almacenaremos el nombre del paquete en una variable. Al igual que:

... | awk '/^Package/ {p=$2} /^Homepage/ {printf ("%s: %s\n", p, $2)}'

Respuesta2

limpiéLa gran respuesta de Oliy lo hicecondicional. El $1="";sub(FS,"");truco del código elimina el primer Description-en:campo y el separador de campo de un solo espacio, todo de una manera muy concisa. Esexplicado aquí.

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")}}'

Ahora rinde completoTabla de rebajas de Pandocfilas, que eventualmente se convierten en unaTabla HTML en mi sitio web.

|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|

información relacionada