셸 스크립트에서 Mac 기반 mdls 명령을 사용하여 미디어 파일에 대한 메타 데이터 보고서를 생성하는 bash 스크립트가 있습니다. 스크립트가 작동하면 출력은 다음과 같습니다.
1) [./test1.mov]
- Duration: 22.03
- Dimensions: 480 X 640 pixels
- Codec: ( "H.264" )
때로는 보고서의 모든 파일에 대한 결과에서 null을 얻습니다.
1) [./test1.mov]
- Duration: (null)
- Dimensions: (null) X (null) pixels
- Codec: ( null )
보고서를 생성하는 스크립트는 다음과 같습니다.
cd "path_to_folder"
while IFS= read -r -d $'\0' file; do
duration=`mdls -name kMDItemDurationSeconds "$file" | cut -d "=" -f 2 `
duration=`printf "%.2f" $duration;`
pixel_height=`mdls -name kMDItemPixelHeight "$file" | cut -d "=" -f 2`
pixel_width=`mdls -name kMDItemPixelWidth "$file" | cut -d "=" -f 2`
codec=`mdls -name kMDItemCodecs "$file" | cut -d "=" -f 2`
temp="$i) [$file]\n- Duration: $duration\n- Dimensions: $pixel_width X $pixel_height pixels\n- Codec: $codec\n"
metaDataOutput=$metaDataOutput"\n"$temp
i=$((i + 1))
done < <(find . \( -iname \*.m4v -o -iname \*.mov -o -iname \*.m4r -o -iname \*.m4a \) -print0 )
echo -e "\n[Report]\n"$metaDataOutput
내가 여기서 뭘 잘못하고 있을지 모르겠어? 왜 널인가?
그래서 때로는 모든 파일에서 작동하지만 그렇지 않다고 말합니다. 아니면 특정 파일에서만 발생합니까?
—
slhck