Таким образом, мой исходный каталог был бы ~/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/
?
Можно сделать это с терминалом.
Используйте соответствующую команду CP
cd ~/Music/
~/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
.