Я работаю над сценарием оболочки. На заднем плане: я записал много песен с радио на своем Mac. Каждая песня представляет собой *.eyetv
«файл» на моем Mac. На самом деле эти «файлы» - это просто папки, содержащие файл .mpg
с загадочным именем файла, например 00000000144ad5e9.mpg
, и некоторые метаданные.
Записи организованы в несколько папок, каждая из которых содержит около 20 записей (аудио CD). Все эти папки находятся на NAS.
Я пытаюсь написать скрипт, который создает папки на моем Mac, а затем копирует в них mpgs , переименовывая их в имя родительского каталога.
Структура каталогов на NAS для примера песни «Set fire to the Rain
»: /music/recordings1/Set Fire to the Rain - ADELE.eyetv/00000000144ad5e9.mpg
(и некоторые метаданные для EyeTv)
Желаемая структура на моем жестком диске после копирования: / home/me/music/recordings1/Set fire to the Rain.mpg
Мой (не работающий) код до сих пор:
dirname=$(basename `pwd | tr ' ' '_'`.eyetv)
mkdir ~/Musik/$dirname
find . -name '*.eytv' | xargs -0 -i cd {} | find . -name ????????????????.mpg -print0 | xargs -0 -i cp -v {} ~/Musik/$dirname/$(basename `pwd | tr ' ' '_'`.mpg)
Поздравляю и спасибо заранее, Маркус
Вы можете использовать mcp
:
mcp -v '/music/recordings1/* - *.eyetv/*.mpg' '/home/me/music/recordings1/#1.mpg'
mcp
входит в комплект mmv
. По умолчанию mmv
не установлен в Ubuntu, но вы можете установить его с терминала, используя следующую команду:
sudo apt-get install mmv
См. man mmv
для получения дополнительной информации.