디렉토리의 모든 파일을 삭제하고 .env를 유지하려면 어떻게 해야 합니까?

디렉토리의 모든 파일을 삭제하고 .env를 유지하려면 어떻게 해야 합니까?

디렉토리의 모든 파일을 삭제 example/하지만 .env파일은 삭제하지 않는 방법은 무엇입니까?

아마도 rm -f !(.env) example/?

답변1

쉘에서 extglob쉘 옵션을 설정하는 경우dotglobbash

shopt -s extglob dotglob

그러면 패턴은 가 아닌 디렉토리 example/!(.env)와 일치합니다 .example.env

숨겨진 이름에 대해 와일드카드 패턴 일치를 허용하도록 설정해야 합니다 dotglob.

사용

rm -f example/!(.env)

일치하는 이름을 삭제하려고 합니다.

패턴이 너무 많은 이름으로 확장되면 "매개변수 목록이 너무 김" 오류가 발생합니다. 간단한 루프에서 실행하는 것은 대체 솔루션입니다.

for name in example/!(.env); do rm -f "$name"; done

관련 질문:

관련 정보