Проектът OpenNET Рекурсивно транскодиране на FLAC файлове в MP3, като същевременно запазва ID3 тагове
функция recorder() < dir='ls -p grep "/"' for i in $dir do pushd . > /dev/null 2>&1; cd $i if [ \"*.mp3\" ] then echo 'pwd'/*.mp3; # Tuta може да се прекодира fi recoder; # рекурсия. popd > /dev/null 2>&1; готово >
2.9 , Александър Симаков ( ? ), 14:08, 26/01/2009 [^] [^^] [^^^] [отговор] | + / – |
Да, но не извлича тагове от flac файлове, няма възможност да се посочи отделна директория за mp3 файлове и всъщност няма самото транскодиране! Защо се нуждаем от този скрипт? Обхождане на всички mp3 файлове и показване на техните имена? Освен това заобикаляйте flac файлове, а не mp3. |
IMHO, _one-line_ вариантът с find за тази цел е много по-прост и ясен.
+ / – | |
И тук изобщо нищо не се извлича, показах как работи find и къде е рекурсията. |
+ / – | |
>Показах как >работи, където рекурсия. |
Очакваме рекурсивно прекодиране. _One_ .flac. На баш. :-P
1.7 , AlexGAV ( ? ), 09:43, 26.01.2009 г. [отговор] [﹢﹢﹢] [ · · · ] | + / – |
Но какво ще стане, ако има интервал в името на изходния файл? Например, в директория, съдържаща 01 - The Great Marsh.flac 02 - Rhayader.flac скрипт за i в $(find . -name "*.flac" sort); направете ехо $i; готови изходи ./01 - The Great Marsh.flac ./02 - Rhayader.flac Реших този проблем чрез замяна на интервал с '_' sed, но товаперверзен, IMHO. Може ли някой да предложи по-елегантно решение? |
2.8 , Александър Симаков ( ? ), 12:55, 26.01.2009 г. [^] [^^] [^^^] [отговор] | + / – |
Забележете линията |
намирам. -име "*.flac" -print0 sort -z xargs -0 -n1
намирам. докато четете n; направи . ; Свършен
1.14, крик (ок), 15:16, 17.04.2010 г. [отговор] [﹢﹢﹢] [ · · · ] | + / – |
Ако етикетите не се появиха в mp3 файловете на изхода на скрипта, тогава на това място: >case "$tag_name" в > ЗАГЛАВИЕ) > echo -n "--tt \"$tag_value\" " > ;; трябва да смените името на таговете с малки букви или да пишете с малки букви чрез "", т.е. Така: case "$tag_name" в TITLEtitle ) echo -n "--tt \"$tag_value\" " ;; Очевидно откакто Александър Симаков написа прекрасния скрипт, който се обсъжда тук, има промени в изхода на командата metaflac. |