我从命令中生成了一个列表:
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名称,以便根据依赖关系生成索引。
发布于 2019-03-14 08:43:50
你可以再用一个像这样的裁剪:
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 $发布于 2019-03-14 08:31:29
尝试使用AWK
apt-get --print-uris --yes install <package> | grep ^\' | cut -d\' -f2 | rev | awk 'BEGIN { FS="/"; } { print $1; }' | rev > package.txt发布于 2019-03-14 08:37:43
您可以使用sed“s/.*//g”移除前导部分。
apt-get --print-uris --yes install <package> | grep ^\' | cut -d\' -f2 | sed "/.*\///g" >package.txthttps://stackoverflow.com/questions/55157932
复制相似问题