Как я могу сжимать и распаковывать Monkey's Audio In Ubuntu?

Я использую команду mac в терминале для сжатия и распаковки аудиофайлов Monkey. Тем не менее, я хочу найти способ сделать это для более чем одного файла одновременно. Есть ли хитрость для программы mac, которую я не знаю, или есть другая программа, которая может помочь?

Я застрял, используя графический интерфейс Windows в WINE. Помогите освободить меня от этого:)

1
задан 29 March 2013 в 14:58

1 ответ

Нет, mac делает один файл за один раз, таким образом, необходимо работать вокруг этого.

Принятие файлов, которые Вы хотите кодировать/декодировать, находится в определенных папках, или подпапках и не произвольных путях, можно сделать это с комбинацией находки, sed и xargs.

Например, для кодирования всех файлов WAV в определенной папке и всех ее подпапках, с выходными файлами, просто имеющими расширение APE, с помощью быстрого -c1000 предварительная установка, Вы ввели бы:

find ~/path/to/folder -name *.wav | sed 's/....$//g' \
   | xargs -I MACFILE mac "MACFILE.wav" "MACFILE.ape" -c1000

Объяснение:

  • find находит все файлы с wav расширением в и под данным путем и производит их.
    • Можно использовать `pwd` (с обратными галочками) как сокращение от текущей папки.
    • Добавьте аргумент -maxdepth 0 придерживаться текущей папки только и не войти в подпапки.
  • sed выражение удаляет (т.е. заменяет "пробелом"), последние четыре символа каждого имени файла, возвращенного находкой, которая является расширением .wav или .ape
  • xargs подает каждое имя файла, переданное по каналу в к mac команда.
    • -I MACFILE говорит xargs заменять каждое возникновение MACFILE с входом (имя файла); этим путем мы получаем файлы с надлежащими расширениями и нет .wav.ape, и т.д.

Декодировать в текущей папке только и производить к пользовательской папке, например:

find `pwd` -name *.ape -maxdepth 0 | sed 's/....$//g' \
   | xargs -I MACFILE mac "MACFILE.ape" "/home/ryan/decodes/MACFILE.wav" -d

Примечание: находка является одной из тех утилит, которые почти безграничны (см. man find). С правом -exec и -printf опции (и возможно больше), находка может один быть достаточной, не нуждаясь в sed и xargs, и я уверен, что кто-то укажет на это :). Но я нахожу это легче объяснить и понять.

4
ответ дан 29 March 2013 в 14:58

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

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