폴더의 모든 flac 파일을 분석하고 비트 전송률이 950kbps 미만인 모든 파일을 삭제하는 간단한 셸 명령을 찾고 있습니다. 이제 Clementine을 시작하고 폴더를 찾아 파일을 정렬하고 수동으로 삭제해야 합니다. 그게 제가 Clementine을 사용하는 전부인데, 좀 과한 것 같아요. 감사합니다
답변1
내가 아는 한 이와 같은 작업을 수행하는 간단한 명령은 없습니다. 그러나 폴더에서 파일을 검색하는 작은 스크립트가 이를 수행할 수 있습니다.
먼저 파일의 비트 전송률을 얻으려면 명령줄 유틸리티가 필요합니다. 나는 사용한다 mediainfo
(미디어 정보Debian의 패키지). 다른 유틸리티는 이 작업을 잘 수행할 수 있습니다. 설치 후 다음 스크립트는 비트 전송률이 950kbps 미만인 폴더에 있는 모든 FLAC 파일을 나열합니다.
#!/usr/bin/env sh
for flacfile in *.flac; do
[ $(mediainfo "$flacfile" | grep 'Bit rate' | grep -oi '[0-9].[0-9]*' | sed 's/\s//g') -lt 950 ] && echo "$flacfile"
done
이것이 효과가 있다면 명령을 파일 삭제를 계속하는 명령으로 바꾸십시오 echo
.rm
#!/usr/bin/env sh
for flacfile in *.flac; do
[ $(mediainfo "$flacfile" | grep 'Bit rate' | grep -oi '[0-9].[0-9]*' | sed 's/\s//g') -lt 950 ] && rm "$flacfile"
done
설명하다
- 디렉토리의
for
모든 파일을 반복합니다 ..flac
mediainfo
FLAC 파일에 대한 모든 정보를 표시하고 첫 번째grep
명령에 제공합니다.- 첫 번째는
grep
비트 전송률 행을 선택하고 이를 두 번째 행에 공급합니다grep
. - 두 번째는
grep
해당 행의 숫자만 선택합니다. 핸들 공간에는 천 단위 구분 기호(예: in).
;[0-9].[0-9]*
1␣050
sed
필요한 경우 공백 천 단위 구분 기호를 제거하십시오.- 마지막으로
[ ... -lt 950 ]
비트 전송률이 950kbps 미만인지 확인하고 그렇다면rm
파일을 삭제하라는 명령을 내립니다.