特定のrepoファイルを除いて/etc/yum.repos.dからすべてのrepoを削除する方法

特定のrepoファイルを除いて/etc/yum.repos.dからすべての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

rmでbashを使用してワイルドカードを拡張します。

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

ワイルドカードは、!(...)次のタスクを実行するファイルに展開されます。いいえこれらのファイル名の 1 つです。これは再帰的な解決策ではありません。 /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の下のすべてのファイルを探します。

おすすめ記事