Wie erhalte ich über die Befehlszeile eine Liste der Paket-Homepages in einem Repository-Abschnitt?

Wie erhalte ich über die Befehlszeile eine Liste der Paket-Homepages in einem Repository-Abschnitt?

Vor einiger Zeit habe ich hier gefragt,So erhalten Sie die Liste der Pakete in einem Repository-Abschnitt über die Befehlszeile.

Laut dem Synaptic Package Manager verfügen viele dieser Pakete über eine Homepage. Wie kann ich diese über die Befehlszeile zu meiner automatisch generierten Paketliste hinzufügen?

Synaptic Package Manager zeigt einen Link zur Paket-Homepage an

Es scheint nicht so einfach zu sein, wie einer der vorherigen Antworten eine Argumentoption hinzuzufügen.

Antwort1

Sie könnten verlängernBraims Antwortum einfach die Paketnamen abzurufen und dann für jedes die vollständigen Paketinformationen abzurufen und awkdiese für das Format herunterzuladen.

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

Ich füge der Abfrage eine zusätzliche Architekturbeschränkung hinzu, um (in meinem Fall) Duplikate in der i386-Architektur zu verhindern. Sie können dies weglassen, wenn Sie möchten.

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

Für die ersten beiden sind keine Homepages angegeben. Für die letzten drei schon.

Wenn Sie nur die mit Homepages möchten, schlage ich vor, dass awknur gedruckt wird, wenn eine Homepage gefunden wird. Wir speichern den Paketnamen in einer Variablen. So:

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

Antwort2

Ich habe aufgeräumtOlis tolle Antwortund machte esbedingt. Der $1="";sub(FS,"");Code-Hack verzichtet auf das erste Description-en:Feld und das einzelne Leerzeichen als Feldtrennzeichen, und das alles auf sehr prägnante Weise. Es isthier erklärt.

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

Es ergibt nun vollständigePandoc Markdown-TabelleZeilen, die schließlich in eineHTML-Tabelle auf meiner Website.

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

verwandte Informationen