我有一个从命令生成的列表:
apt-get --print-uris --yes install <package> | grep ^\' | cut -d\' -f2 >package.txt
有一些输出,例如:`
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
尝试使用 grep 但我只能删除:http://archive.ubuntu.com/ubuntu/pool/main/
我的主要目标是仅按顺序获取 package.deb 名称,以便我可以根据依赖项生成索引。
最佳答案
您可以像这样再使用一次剪切:
apt-get --print-uris --yes install <package> | grep ^\' | cut -d\' -f2 | rev | cut -d '/' -f 1 | rev > package.txt
您将获得任何 URL 中的最后一个文件名,我认为您对此也感兴趣。
控制台输出
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 $
关于linux - 如何在 apt-get url 中仅显示 "package_name.deb"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55157932/