패턴별로 bash에서 특정 파일을 제외한 모든 파일을 삭제하는 방법은 무엇입니까? [복사]

패턴별로 bash에서 특정 파일을 제외한 모든 파일을 삭제하는 방법은 무엇입니까? [복사]



디렉토리에서 모든 파일을 자동으로 제거하려고 하지만 특정 파일은 제외하려고 합니다.

터미널에서 실행하면 구문이 제대로 작동하지만 일부 bash 스크립트 파일(예: 또는 $ rm *.!(vmx*|vmd*)이름)을 생성하면 작동하지 않습니다.patt1_exclude_vm_gb.shpatt1_exclude_vm_gb

-- patt1_exclude_vm_gb.sh
#!/bin/bash

$ rm *.!(vmx*|vmd*)

bash 스크립트를 수정하는 방법을 아는 사람이 있습니까?

답변1

이 모드를 사용하려면 먼저 bash확장 전역 모드 지원을 활성화해야 합니다 . (또는 기타 확장 모드 , , 및 )shopt -s extglob!( ... )?( ... )*( ... )+( ... )@( ... )

관련 정보