Как автоматически создавать `.m3u` (или другой файл списка воспроизведения) для нескольких каталогов, поддерживающих несколько форматов файлов?

Я хочу создать файл .m3u (плейлист) для каждой папки, находящейся внутри каталога, автоматически и сохранить его внутри этой конкретной папки с именем этой конкретной папки?

Как создать .m3u с командой?

playlist='play.m3u' ; if [ -f $playlist ]; then rm $playlist ; fi ; for f in *.mp3|; do echo "$(pwd)/$f" >> "$playlist"; done

Эта команда делает это для файлов «.mp3» для одного каталога

Source

How создать файл .m3u с командой?

Я хочу, чтобы приведенная выше команда работала в любых аудио / видеоформатах. такие как .m4a .flac .mp4 .mkbv, чтобы его можно было использовать и для плейлистов видео

Несколько каталогов

Источник [ ! d11]

, если я применил скрипт в родительской папке этих папок, каждая из этих папок должна получить свой собственный файл .m3u

Несколько каталогов

, если возможно, скрипт Nautilus, который мог бы сделать все это с помощью правого щелчка, был бы потрясающим, я готов дать больше выходов или чего-то еще

Преимущества

Good File Management автоматически добавит плейлист с названием альбома в Rythmbox (или других музыкальных плеерах). После того, как это будет сделано, не нужно будет проигрывать файлы из папки в папку

3
задан 13 April 2017 в 15:23

2 ответа

Проведя исследование в этой области, я нашел этот скрипт Bash для создания файлов плейлиста .m3u для всех mp3 в подкаталогах , созданных scarlson .

Это соответствует вашим самым важным требованиям: несколько форматов файлов и несколько каталогов.

-1
ответ дан 8 October 2018 в 01:59
find -type f -iname "*.mp3" -or -iname "*.flac" -or -iname "*.m4a" > playlist.m3u

Еще одна идея: вы можете использовать цикл bash и проверить тип mime с помощью команды file:

echo "" > playlist.m3u

for path in $(find -type f) do;
   if [ file --mime-type "$path" | egrep '(audio|video)' ]; then
      echo "$path" >> playlist.m3u
   fi
done
0
ответ дан 8 October 2018 в 01:59

Другие вопросы по тегам:

Похожие вопросы: