MediaInfo를 사용하여 미디어 파일의 해상도를 인쇄하는 스크립트를 작성 중입니다. 정확한 클리핑을 테스트하고 얻기 위해 Marvel 디렉토리를 하드코딩했습니다.
암호:
#!/bin/bash
for i in /mnt/D/tv/"Marvel (MCU)"/{*.mp4,*.mkv,*.avi,*.m4v}; do
mediainfo "$i" > temp
H=`cat temp | grep "Height" | cut -d ":" -f 2 | cut -c 2- | cut -d "p" -f 1`
W=`cat temp | grep "Width" | cut -d ":" -f 2 | cut -c 2- | cut -d "p" -f 1`
printf "%-50s %s x %s \n" "$(basename "$i")" "$W" "$H"
rm temp
done
산출:
1. Iron Man.mp4 1 920 x 800
10. Guardians of the Galaxy.mp4 1 280 x 536
...
8. Thor The Dark World.mkv 1 920 x 800
9. Captain America The Winter Soldier.mkv 1 280 x 534
*.avi x
*.m4v x
폴더에 .mp4, .mkv 파일만 있으므로 "*.avi", "*.m4v"가 인쇄됩니다. 찾을 수 없는 확장명 인쇄를 억제하는 방법은 무엇입니까?
답변1
nullglob
쉘 옵션 설정 : shopt -s nullglob
.from man bash
:
nullglob
일치하는 파일 이름이 없고 활성화된 쉘 옵션이 없으면 단어는 변경되지 않고 그대로 유지됩니다. 이 옵션이 설정되어 있고 일치하는 항목이 없으면nullglob
해당 단어가 제거됩니다.