Скрипт оболочки для & ldquo; умного & rdquo; копирование

Я работаю над сценарием оболочки. На заднем плане: я записал много песен с радио на своем 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)

Поздравляю и спасибо заранее, Маркус

0
задан 4 January 2014 в 19:18

1 ответ

Вы можете использовать mcp:

mcp -v '/music/recordings1/* - *.eyetv/*.mpg' '/home/me/music/recordings1/#1.mpg'

mcp входит в комплект mmv . По умолчанию mmv не установлен в Ubuntu, но вы можете установить его с терминала, используя следующую команду:

sudo apt-get install mmv

См. man mmv для получения дополнительной информации.

0
ответ дан 4 January 2014 в 19:18

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

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