如何删除/etc/yum.repos.d下除特定repo文件之外的所有repo

如何删除/etc/yum.repos.d下除特定repo文件之外的所有repo

下面/etc/yum/repos.d我们有以下回购协议

mng.repo
vrtf.repo
dbNM.repo

有时用户会在 /etc/yum/repos.d 下创建其他存储库,这会导致大量存储,因为 yum 冲突

所以我们要删除除 repo 文件之外的所有其他文件

mng.repo
vrtf.repo
dbNM.repo

所以我们可以使用 like ,但是这个语法尚未完成,需要有关的帮助

find /etc/yum.repos.d -type f -not -name 'mng.repo'  vrtf.repo dbNM.repo -delete

答案1

将 bash 与 rm 一起使用,并扩展通配符:

shopt -s extglob
rm /etc/yum.repos.d/!(mng.repo|vrtf.repo|dbNM.repo)

通配符!(...)扩展到执行以下操作的文件不是有这些文件名中的任何一个。这不是递归解决方案——它仅适用于直接位于 /etc/yum.repos.d 中的文件。

使用find

find /etc/yum.repos.d/ -type f ! -name mng.repo ! -name vrtf.repo ! -name dbNM.repo -delete

该表达式查找 /etc/yum.repos.d 下任何不具有任何列出名称的文件。

相关内容