for a in $(find . -maxdepth 1 -name "*.mp4" -type f -printf "%f\n" | rev | cut -d '.' -f2- | rev | sort -u); do if [ ! -f "$a.mp3" ]; then avconv -i "$a."* -vn -ab 128 "$a.mp3"; fi done
Эта команда ищет файлы в текущей директории с расширением «.mp4», затем для каждого файла выполняет следующее: если соответствующий файл «.mp3» не существует, то конвертирует «mp4» в «mp3» с использованием avconv, сохраняя битрейт аудио на уровне 128 kbps. Альтернативой может быть использование других утилит для конвертации видео в аудио, таких как FFmpeg. Передаваемые аргументы: «-maxdepth 1» ограничивает поиск только в текущей директории, «-printf» используется для вывода только имен файлов, а остальные аргументы фильтруют файлы и выполняют конвертацию.
