Я работаю над скриптом оболочки. К фону: я записал много песен с радио на моем 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
для получения дополнительной информации.