首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有排除的Apt通配符

带有排除的Apt通配符
EN

Ask Ubuntu用户
提问于 2020-07-14 19:11:00
回答 1查看 456关注 0票数 2

我正在尝试安装除fonts-mathematica之外的所有D1软件包。做这件事最好的方法是什么?

我从下面的命令开始:

代码语言:javascript
复制
apt-get -y install *fonts*

问候,j

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2020-07-14 21:21:49

我们可以使用apt新模式。使用man apt-patterns获取更多信息。

列出其名称中包含“字体”的所有包,并对它们进行计数:

代码语言:javascript
复制
$ apt list '~n.*fonts.*' 2> /dev/null | wc -l

573

使用grep筛选输出以查找fonts-mathematica

代码语言:javascript
复制
$ apt list '~n.*fonts.*' 2> /dev/null | grep -i mathematica

fonts-mathematica/focal 21 all
mathematica-fonts/focal 21 all

将其排除在外:

代码语言:javascript
复制
$ apt list '~n.*fonts.* !?exact-name(fonts-mathematica)' 2> /dev/null | 
grep mathematica

mathematica-fonts/focal 21 all

甚至把他们两个都排除在外:

代码语言:javascript
复制
$ apt list \
'~n.*fonts.* !?exact-name(fonts-mathematica) !?exact-name(mathematica-fonts)' |
 grep mathematica

下面是你要找的东西:

代码语言:javascript
复制
$ sudo apt install \
'~n.*fonts.* !?exact-name(fonts-mathematica) !?exact-name(mathematica-fonts)'

最后肯定会有很多冲突。

我们可以做的是生成所有这些包的列表:

代码语言:javascript
复制
$ apt list \
'~n.*fonts.* !?exact-name(fonts-mathematica) !?exact-name(mathematica-fonts)' | 
cut -f1 -d/ > 2>/dev/null fonts_lists

甚至以一种更清洁的方式:

代码语言:javascript
复制
$ apt-cache search --names-only fonts | grep -v -e fonts-mathematica -e mathematica-fonts | cut -f1 -d' ' > fonts_list

然后使用如下指南:"当apt遇到无法定位包问题的安装时继续错误.“逐个安装它们。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1259072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档