Скрипт оболочки для «умного» копирования

Скрипт оболочки для «умного» копирования

Я работаю над скриптом оболочки. К фону: я записал много песен с радио на моем Mac. Каждая песня — это *.eyetv«файл» на моем Mac. На самом деле эти «файлы» — просто папки, содержащие .mpgфайл с загадочным именем типа 00000000144ad5e9.mpgи некоторые метаданные.

Записи организованы в несколько папок, каждая из которых содержит около 20 записей (аудио CD). Все эти папки находятся на NAS.

Я пытаюсь написать скрипт, который создает папки на моем Mac, а затем копирует в них файлы mpg.переименованиеих к имени родительского каталога.

Структура каталогов на 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)

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

решение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для получения дополнительной информации.

Связанный контент