Проблема: у меня есть, например, 16 дорожек в одной папке, но я только хочу играть 1 - 7. Как я делаю это в MPlayer? Следующее:
mplayer 1.mp3 - 7.mp3
не правильный путь. Это даже возможно в MPlayer, не выписывая каждое имя файла?
Насколько я знаю, что это не возможно из самого MPlayer, но немного волшебства командной строки может привести к некоторым большим результатам.
Следующее, возможно, немного неуклюже, но работает достаточно хорошо здесь с соглашением о присвоении имен, которое Вы указали:
mplayer $(find . -maxdepth 1 -name "[1-7].mp3" | ls -v)
Краткое объяснение:
find . -maxdepth 1
: Поиск в текущем каталоге без рекурсии.-name "[1-7].mp3"
: Найдите mp3s, которые имеют только цифры 1-7 как их имя файла. [1-7]
раздел демонстрирует выражение диапазона Bash, где номера 1 и 7 подобраны, а также все числа между.ls -v
: Отсортируйте поиск, таким образом, воспроизведение будет численно базироваться.Несомненно, существуют другие пути, но это работает достаточно хорошо и если бы Ваши фактические имена файлов отличаются, это был бы просто вопрос изменения регулярного выражения в find
синтаксис для соответствия...
В этом случае единственный другой инструмент, в котором Вы нуждаетесь, является Вашей командной строкой оболочки.
mplayer [1-7].mp3
, Что пример использует оболочку globbing (иначе расширение пути ) для выбора файлов, которые Вы хотите играть. Однако, если Вы хотите играть треки 8 - 11, например, это должно больше походить на это:
mplayer [89].mp3 1[01].mp3
Для получения дополнительной информации см. 2.13. Нотация Сопоставления с образцом в спецификации Posix, особенно Шаблоны подраздела 2.13.3, Используемые для Расширения Имени файла .
Также посмотрите раздел Pathname Expansion Вашей страницы справочника оболочки ($ man sh
) и раздел после того приблизительно Сопоставление с образцом Shell .