Я пытаюсь написать простой скрипт для Lame, чтобы настроить программу для моих конкретных целей. То, что я хотел бы сделать, это проанализировать только процентную полноту из вывода Lame.
Вот как выглядит линия сейчас:
./lame --nohist ~/Desktop/Driver.wav ~/Desktop/Driver.mp3 2>&1| egrep -o "\([0-9\%]+\)"
Но это ничего не возвращает. Вот как выглядит вывод Lame:
LAME 3.99 (alpha 1, Jun 4 2009 19:42:31) 32bits (http://www.mp3dev.org/)
warning: alpha versions should be used for testing only
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding /Users/jkubicek/Desktop/Driver.wav
to /Users/jkubicek/Desktop/Driver.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
1500/8765 (17%)| 0:02/ 0:15| 0:03/ 0:17| 14.654x| 0:14
Последняя строка кода динамически обновляется при преобразовании файла. Когда я копирую / вставляю / echo / pipe этот точный текст в мой grep, он находит 17% просто отлично, но когда я запускаю его по-настоящему, он находит zilch.
Edit:
Когда я выбрасываю вывод из lame в текстовый файл, вот как выглядят результаты:
Похоже, что я мог бы перенести вывод во временный файл и прочитать оттуда процент завершения, но это неудобно, как будто должен быть более элегантный способ сделать это.