我问过关于 aptitude 的正则表达式这里效果非常好。现在 i386 软件包也在其中。我如何确保 i386 软件包不会出现在图中。我尝试了以下方法 -
alias aptn="aptitude search '~N !-dbgsym$ ' '!-i386$'"
也
alias aptn="aptitude search '~N !-dbgsym$ ' '~N !-i386$'"
现在使用任一别名购买,我会看到新的 dbgsym 和 i386 软件包。我不想看到他们。有出路吗 ?
─[$] aptn
p sed-dbgsym - Debug symbols for sed
p sed-dbgsym:i386 - Debug symbols for sed
答案1
您忘记了上一个问题的答案中最重要的部分:
将两种模式组合在一个命令行参数中
你需要跑
aptitude search '~N !-dbgsym$ !~ri386'
通过像您所做的那样添加模式,您将搜索满足您给出的两种模式之一的包。在第一种情况下,这是新的软件包和不调试符号,或者不用于i386
;在第二种情况下,这是新的软件包和不调试符号,或新的和不是为了i386
。您还需要使用~r
搜索词来过滤架构,它们不是包名称的一部分。
该搜索的更一般形式是
aptitude search '~N !-dbgsym$ !~rforeign'
其中不包括所有外部架构包。