특정 유형이 아닌 파일을 찾는 방법은 무엇입니까?

특정 유형이 아닌 파일을 찾는 방법은 무엇입니까?

정리되지 않은 음악 폴더에 있는 다양한 유형의 파일을 모두 식별하려고 합니다. 나는 다음 명령을 시도해 왔습니다(내가 아는 파일 형식 이외의 파일 형식 나열).

find zUnorganized/ -not -iname "*.mp3" -and -not -iname "*.flac" -and -not -iname "*.MP3" -and -not -iname "*.wav" -or -not -iname "*.m4a" -and -not -iname "*.jpg"

그러나 이것은 작동하지 않습니다. 이 명령을 어떻게 작동시키나요? -regex를 사용하여 이를 수행할 수 있는 방법이 있습니까?

감사해요!

답변1

귀하는 다음과 같이 작성했습니다(명확성을 위해 중복되는 괄호를 추가했습니다):

find zUnorganized/ \( -not -iname "*.mp3" -and -not -iname "*.flac" -and -not -iname "*.MP3" -and -not -iname "*.wav" \) \
               -or \( -not -iname "*.m4a" -and -not -iname "*.jpg" \)

-and -not전체 텍스트를 사용하거나 or전체 텍스트와 끝을 사용 -print하십시오(즉, 이것으로 아무것도 하지 않고, 그렇지 않으면 이것으로 아무것도 하지 않고, 그렇지 않으면 인쇄합니다). 또한 검색을 일반 파일로 제한해야 합니다. 그렇지 않으면 디렉터리가 나열됩니다.

find zUnorganized/ -type f -not -iname "*.mp3" -and -not -iname "*.flac" -and -not -iname "*.MP3" -and -not -iname "*.wav" -and -not -iname "*.m4a" -and -not -iname "*.jpg"
find zUnorganized/ \! -type f -o \
                   -iname "*.mp3" -o -iname "*.flac" -o -iname "*.MP3" -o -iname "*.wav" -o -iname "*.m4a" -o -iname "*.jpg" -o \
                   -print

관련 정보