@blm의 링크 된 답변 정보를 사용하면 다음과 같이 할 수 있습니다.
find /some/folder -type f -regextype posix-extended -regex '.*\.(flac|ape|wa?v|m(p3|4a))' -exec bash -c " file '{}' | grep '320 kbps'" \; -exec <do what you want>
첫 번째 명령 -exec은 320 kbps 인 파일 만 찾습니다. file명령에서 우리에게보고하기 때문입니다. grep일치 하는 것이 없으면 -exec거짓이되고 두 번째 -exec는 실행되지 않습니다. 그래도 grep일치하면 두 번째 -exec가 실행됩니다.
완전성을 위해이 기능은 매뉴얼 페이지-exec 에서 찾을 수 있습니다 .
-exec command ;
Execute command; true if 0 status is returned
편집하다:
file이 솔루션에서 의 사용과 관련하여 모든 사람에게 적용되는 것은 아닙니다. 따라서 다음을 사용하여 비트 전송률을 얻는 다른 방법이 있습니다 mediainfo.
#!/bin/bash
bitrate=$(mediainfo "$1" | grep -Ei 'overall bit ?rate.*[[:digit:]]+.*$' | grep -Eo [[:digit:]]+)
echo $bitrate
실행 권한으로 .sh 파일에 저장 한 다음 mediainfo대체 할 수있는 방식으로 전체 비트 전송률 정보 에 따라 파일의 비트 전송률 (숫자 만)을 제공합니다
-exec bash -c " file '{}' | grep '320 kbps'" \;
와
-exec bash -c "BITRATE_SCRIPT_PATH '{}' | grep '320'" \;
(1Mbps 이상의 비트 전송률을 갖는 무손실 오디오 파일에서는 제대로 작동하지 않을 수 있음)
-exec경우 파일의 종료 코드가 실제로 마하인지 여부를 결정하는 데 사용되므로 종료 코드를 사용할 수 있습니다 (종료 코드 0은 일치, 다른 것은 일치하지 않음)