특정 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)

와일드카드는 !(...)다음 작업을 수행하는 파일로 확장됩니다.아니요이러한 파일 이름 중 하나입니다. 이는 재귀적인 솔루션이 아닙니다. /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 아래의 모든 파일을 찾습니다.

관련 정보