Как я могу сгенерировать список воспроизведения M3U с терминала?

Используйте функцию вместо псевдонима:

cs() { cd "$1" && ls; }
1
задан 22 February 2013 в 17:56

2 ответа

Это ответ @chronitis с некоторыми улучшениями:

сохраняет имя файла в переменной $ playlist для последующего использования, удалит файл, если он ранее записывает полный путь к файлу в плейлисте

Команда

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

Чтобы воспроизвести ее с помощью mplayer в командной строке также

mplayer -playlist play.m3u
5
ответ дан 25 May 2018 в 01:11
  • 1
    Я не знаю, почему кто-то отказался от этого ответа. Это единственное решение, которое, похоже, работает прямо из коробки и должно быть принято или, по крайней мере, продвинуто. Большое спасибо! – Geppettvs D'Constanzo 7 February 2015 в 21:02
  • 2
    что, если я хочу добавить в эту команду несколько форматов файлов? – Sumeet Deshmukh 8 April 2017 в 07:58

Первоначально вы просили создать каждую запись в виде строки в формате URL. В дополнение к замене локального пути с помощью http: // ... вам также потребуется заменить пробелы «% 20». Итак, длинная строка, но здесь вы идете:

find /path/to/mp3s/ -name "*.mp3" | sed 's/ /%20/g' | sed 's|/path/to/mp3s/|http://www.server.com/serverpath/|g' > playlist.m3u
2
ответ дан 25 May 2018 в 01:11
  • 1
    хорошая идея! использование знака плюс (+) приведет к получению более читаемого URL-адреса, хотя – 3k- 28 September 2016 в 11:44

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

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