Bash Shell Расчет суммы всех видео продолжительности внутри папки в MAC OS - PullRequest
0 голосов
/ 16 октября 2019

Раньше я получал результаты в окнах, просто просматривая * .mp4 и выбирая все файлы. Сумма длительности будет показана в деталях боковых панелей. Я хочу найти то же самое внутри MAC рекурсивно. Это сценарий, который я написал в Bash. Подскажите что я делаю не так?

#!/bin/bash
sum=0
find .  -type f -name "*.mp4" | while read line; do
    duration=`mdls -name kMDItemDurationSeconds "$line" | cut -d "=" -f 2`
    sum=$(echo "$duration + $sum"|bc)
all=$sum
done
echo $all

1 Ответ

0 голосов
/ 16 октября 2019
#!/bin/bash
sum=0
while read line; do
    duration=$(mdls -name kMDItemDurationSeconds "$line" | cut -d "=" -f 2)
    sum=$(echo "$duration+$sum"|bc)
done <<< "$(find .  -type f -name "*.mp4")"
h=$(bc <<< "$sum/3600")
m=$(bc <<< "($sum%3600)/60")
s=$(bc <<< "$sum%60")
printf "%02d:%02d:%05.2f\n" $h $m $s

Мое решение, еще не идеальное.

...