$ package=sed$ apt-cache show "$package" | awk '/^Package: /{p=$2} /^Version: /{v=$2} /^Architecture: /{a=$2} /^$/{print "apt-get download "p"="v" -a="a}' apt-get download sed=4.2.1-10 -a=amd64怎么运行的
/^Package: /{p=$2}
将软件包信息保存在variable中
p。
/^Version: /{v=$2}
将版本信息保存在variable中
v。
/^Architecture: /{a=$2}
将体系结构信息保存在variable中
a。
/^$/{print "apt-get download "p"="v" -a="a}
当我们到达空白行时,以所需的形式打印出信息。
我的版本
apt-cache总是在每个软件包后输出空白行。您的示例输出缺少最后一个空白行。如果您
apt-cache确实没有产生最后的空白行,那么我们将需要添加更多代码来进行补偿。
作为一个风格问题,有些人可能更喜欢
printf到
/^$/{printf "apt-get download %s=%s -a=%sn",v,p,a}'


