2
votes

Comment n'afficher que le "package_name.deb" dans une URL apt-get?

J'ai une liste générée à partir de la commande:

http://archive.ubuntu.com/ubuntu/pool/main/f/fakeroot/libfakeroot_1.22-2ubuntu1_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/main/f/fakeroot/fakeroot_1.22-2ubuntu1_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/main/g/gnupg2/gnupg-l10n_2.2.4-1ubuntu1.2_all.deb
http://archive.ubuntu.com/ubuntu/pool/main/g/gnupg2/gnupg-utils_2.2.4-1ubuntu1.2_amd64.deb

Avec une sortie comme: `

apt-get --print-uris --yes install <package> | grep ^\' | cut -d\' -f2 >package.txt

J'ai essayé d'utiliser grep mais je peux supprimez uniquement le: http://archive.ubuntu.com/ubuntu/pool/main/

Mon objectif principal est d'obtenir uniquement les noms de package.deb afin que Je peux générer un index en fonction des dépendances.


0 commentaires

3 Réponses :


1
votes

Essayez d'utiliser AWK

apt-get --print-uris --yes install <package> | grep ^\' | cut -d\' -f2 | rev | awk 'BEGIN { FS="/"; } { print $1; }' | rev > package.txt


0 commentaires

0
votes

vous pouvez utiliser sed "s /.*/// g" pour supprimer la partie principale.

apt-get --print-uris --yes install <package> | grep ^\' | cut -d\' -f2 | sed "/.*\///g" >package.txt


0 commentaires

1
votes

Vous pouvez utiliser une autre coupe comme ceci:

user@domain $ apt-get --print-uris --yes install <package> | grep ^\' | cut -d\' -f2 | rev | cut -d '/' -f 1 | rev > package.txt


libfakeroot_1.22-2ubuntu1_amd64.deb
fakeroot_1.22-2ubuntu1_amd64.deb
gnupg-l10n_2.2.4-1ubuntu1.2_all.deb
gnupg-utils_2.2.4-1ubuntu1.2_amd64.deb

user@domain $

Vous obtiendrez le dernier nom de fichier dans n'importe quelle URL et je pense que vous êtes intéressé par la même chose.

Sortie de la console

apt-get --print-uris --yes install <package> | grep ^\' | cut -d\' -f2 | rev | cut -d '/' -f 1 | rev > package.txt


0 commentaires