# Recursive all files in dir exiftool -ext mp4 -r -n -q -p '${Duration;$_ = ConvertDuration(our $total += $_)}' . | tail -n 1 # More control # calc-durs Replay_* - all files matching glob in single folder only # calc-durations -r Replay_* - recursive in all folders calc-durs() { local -a files if [[ "$1" == "-r" ]]; then shift exiftool -ext mp4 -r -n -q -p '${Duration;$_ = ConvertDuration(our $total += $_)}' -- "${@:-.}" | tail -n 1 else files=("$@") exiftool -n -q -p '${Duration;$_ = ConvertDuration(our $total += $_)}' -- "${files[@]}" | tail -n 1 fi }