Как я могу скопировать музыкальные файлы с нескольких плей-листов и сохранить структуру каталогов подобной?

Таким образом, мой исходный каталог был бы ~/Music, и целевой каталог был бы /mnt/Music/. Скажите, что файл под названием "music1.mp3" расположен под ~/Music/dir1/music1.mp3. Я также получил другой файл в плей-листе под названием "music2.mp3", расположенный в ~/Music/dir2/music2.mp3.
Как я могу зеркально отразить место назначения так, чтобы "music1.mp3" скопировал бы в /mnt/Music/dir1/ И "music2.mp3" под /mnt/Music/dir2/?

0
задан 28 March 2019 в 23:53

1 ответ

Можно сделать это с терминалом.

Используйте соответствующую команду CP

  1. Удостоверьтесь, что Ваша папка Music является Вашим текущим рабочим каталогом

cd ~/Music/

  1. Выполните копию. Укажите свой исходный файл как путь, начинающий с Вашего ~/Music папка. Определение /mnt/Music как место назначения. Прием прибывает в использование опции --target. Это воссоздаст относительный путь файла в цель. Команда таким образом будет похожа:

cp --target dir1/music1.mp3 /mnt/Music

Из-за - предназначаются для опции, файла music1.mp3 будет скопирован в папку dir1 под Вашим /mnt/Music папка. Если папка не будет существовать, то она будет создана.

Автоматизируйте для своего всего плей-листа

Поскольку это - удар, он может быть автоматизирован. Можно непосредственно использовать плей-лист, если он просто перечисляет музыкальные файлы с их относительными путями в формате обычного текста. Если Ваше программное обеспечение аудиоплеера будет использовать другой формат, то необходимо будет экспортировать плей-лист в текстовом формате, таком как m3u формат, сначала. В следовании примеру предполагается, что у Вас есть плей-лист myplaylist.m3uэто содержит два музыкальных файла:

dir1/music1.mp3
dir2/music2.mp3

Следующая строка заставит все файлы в плей-листе быть скопированными в /mnt/Music папка под их соответствующей папкой. Это будет работать также на большие плей-листы. Снова, Ваш текущий рабочий каталог должен быть ~/Music чтобы это работало. Иначе файлы под той папкой не будут найдены.

cat myplaylist.m3u | while read f; do cp --target "$f" /mnt/Music; done

"$f" будет строка от Вашего текстового файла myplaylist.m3u.

0
ответ дан 25 October 2019 в 07:47

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

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