История изменений
Исправление crutch_master, (текущая версия) :
Подсчёт длительности в сек (avconv выдаёт hh:MM:ss, переводим в секунды)
#!/bin/bash
d=$(avconv -i "$1" |& grep Duration | cut -d , -f 1 | cut -d " " -f 4 | cut -b -8)
s=$(date -ud "1970-01-01 $d" +%s)
echo $s
#!/bin/bash
sum=0;
dir=$1; #каталог с файлами
dur=$2; #общая длительность не менее сек
cd $dir;
IFS=$(echo -en "\n\b");
ls -1 --sort=t | tac | while read f; do
t=$(~/sh/duration.sh "$f");
if [ $dur -ge $sum ]; then
echo $f
fi
sum=$(($sum+$t)); #длительность не менее $dur
done
inb4: по нескольким каталогам - прикрути find вместо ls.
Исправление crutch_master, :
Подсчёт длительности в сек (avconv выдаёт hh:MM:ss, переводим в секунды)
#!/bin/bash
d=$(avconv -i "$1" |& grep Duration | cut -d , -f 1 | cut -d " " -f 4 | cut -b -8)
s=$(date -ud "1970-01-01 $d" +%s)
echo $s
#!/bin/bash
sum=0;
dir=$1; #каталог с файлами
dur=$2; #общая длительность не менее сек
cd $dir;
IFS=$(echo -en "\n\b");
ls -1 --sort=t | tac | while read f; do
t=$(~/sh/duration.sh "$f");
if [ $dur -ge $sum ]; then
echo $f
fi
sum=$(($sum+$t)); #длительность не менее $dur
done
Исходная версия crutch_master, :
Подсчёт длительности в сек (avconv выдаёт hh:MM:ss, переводим в секунды)
#!/bin/bash
d=$(avconv -i "$1" |& grep Duration | cut -d , -f 1 | cut -d " " -f 4 | cut -b -8)
s=$(date -ud "1970-01-01 $d" +%s)
echo $s
#!/bin/bash
sum=0;
dir=$1; #каталог с файлами
dur=$2; #общая длительность не менее сек
cd $dir;
IFS=$(echo -en "\n\b");
ls -1 --sort=t | tac | while read l; do
t=$(~/sh/duration.sh "$l");
if [ $dur -ge $sum ]; then
echo $l
fi
sum=$(($sum+$t)); #длительность не менее $dur
done