특정 확장자를 제외한 폴더에서 파일을 찾는 방법

특정 확장자를 제외한 폴더에서 파일을 찾는 방법

다양한 확장자가 혼합된 폴더( .sh .txt .pdb)가 있습니다. 다음을 제외한 모든 파일을 찾고 싶습니다.pdbqt

다음 코드를 사용하여 폴더에서 pdbqt를 찾을 수 있다는 것을 알고 있습니다.

find -name "*.pdbqt" -type f

하지만 이것과 일치하지 않는 모든 파일을 찾고 싶습니다. 일반적으로 말하면 !이것이 도움이 됩니다. 여기에 어디에 놓을까요 !? 아니면 다른 우아한 해결책이 있습니까?

답변1

테스트 전에 !무효화하려는 항목은 다음과 같습니다.

find ! -name "*.pdbqt" -type f

많은 구현에서는 find시작 경로(POSIX 요구 사항에 따르면):

find . ! -name "*.pdbqt" -type f

부정은 가장 가까운 표현에서만 작동하므로 -type f여기서는 부정이 수행되지 않습니다. 여러 표현식에 부정을 적용하려면 괄호를 사용하세요(우선순위에 따라 결정됨).

관련 정보