duration_format(){ res="" ds=$1 if [ $ds -ge 3600 ]; then hs=$((ds/3600)) ds=$((ds%3600)); res=$res$hs"h" fi if [ $ds -ge 60 ]; then ms=$((ds/60)) ds=$((ds%60)) res=$res$ms"m" fi res=$res$ds"s" }
total=$(cat $input_file|wc -l) count=0 while read line do st=$(date +%s) you-get -o . ${line%?} --debug let count+=1 et=$(date +%s) duration=$((et-st)) rest_duration=$((duration*(total-count))) duration_format $duration duration_str=$res duration_format $rest_duration rest_duration_str=$res echo "==============="$count"/"$total","${line%?}", cost "$duration_str", rest "$rest_duration_str done < $input_file