find -name '*.avi' | while read i ; do echo $(mplayer -identify -frames 0 -vo null -nosound "$i" 2>&1 | grep ID_LENGTH | cut -d= -f2)" ""$i" ;done | sort -k1 -r -n | sed 's/^\([^\ ]*\)\ \(.*\)$/\2:\1/g'
Эта команда ищет файлы с расширением «.avi», затем использует mplayer для извлечения длительности каждого файла и вывода этой информации вместе с именем файла. Результаты сортируются по длительности в порядке убывания.
Альтернатива: Можно использовать другие утилиты для извлечения информации о длительности видео и сортировки результатов. Например, можно воспользоваться ffmpeg или ffprobe вместо mplayer.