代码: 全选
(for pkgName in $(zcat --force /var/log/apt/history.log* | awk '$1 == "Commandline:" && $2 ~ /apt/ && $3 == "install" {print $4}' | uniq);
do
zcat --force /var/log/dpkg.* | awk '$3 == "status" && $4 == "installed" {print $1" "$2" "$5" "$6}' | grep --ignore-case "\<$pkgName\>";
done) | sort --key=1 --key=2
然后用 grep 筛选同样由 zcat 提供的安装详细记录中有无包含包名, 如果有, 则输出.
最后将上面整个命令用圆括号括起来, 方便 sort 按照安装成功时间排序.
命令中之所以使用长参数, 这样比较容易理解命令的具体用途.
因为自己对于这些命令理解的还不是很充分,比如, 目前还不知道如何将变量代入到 awk 正则判断中, 还望大家多多包含.