2015-05-15 5 views
0

У меня есть большая музыкальная библиотека (> 20000 песен), которую я пытаюсь переместить с моего Mac на свой компьютер. Отдельные файлы, которые составляют эту библиотеку, были собраны на моем Mac в течение длительного периода времени. Все они были извлечены из сжатых архивов, например. .zip или .rar. К сожалению, программа распаковщика, которую я использовал для извлечения этих файлов, помещала их во вновь созданную папку перед извлечением. Поскольку эти архивы были всего лишь зашифрованными папками, теперь у меня есть куча файлов, которые находятся внутри вложенных избыточных каталогов.Как переместить папки в один подкаталог на Mac?

Например, скажем, я извлек архив с именем ABCDWXYZ.zip.

Этот архив был просто сжатой версией папки ABCDWXYZ, внутри которой были файлы Track 1, Track 2 и т. Д. Однако программа извлечения, которую я использовал, сначала создала новую папку с именем ABCDWXYZ, а затем приступила к извлечению содержимое архива в эту папку, в результате несколько тысяч имен путей, которые все выглядят следующим образом:

iTunes/ABCDWXYZ/ABCDWXYZ/Track 1.mp3 
iTunes/ABCDWXYZ/ABCDWXYZ/Track 2.mp3 
iTunes/ABCDWXYZ/ABCDWXYZ/Track 3.mp3 
iTunes/ABCDWXYZ/ABCDWXYZ/Track 4.mp3 
iTunes/ABCDWXYZ/ABCDWXYZ/Track 5.mp3 
iTunes/QWERTY/QWERTY/Track 1.mp3 
iTunes/QWERTY/QWERTY/Track 2.mp3 
iTunes/QWERTY/QWERTY/Track 3.mp3 
iTunes/QWERTY/QWERTY/Track 4.mp3 

есть какой-то способ партии переместить все эти двукратно вложенных папок до одного каталога? после выполнения пакетного двигаться, я хотел бы получившийся архитектуру файла выглядеть примерно так:

iTunes/ABCDWXYZ/Track 1.mp3 
iTunes/ABCDWXYZ/Track 2.mp3 
iTunes/ABCDWXYZ/Track 3.mp3 
iTunes/ABCDWXYZ/Track 4.mp3 
iTunes/ABCDWXYZ/Track 5.mp3 
iTunes/QWERTY/Track 1.mp3 
iTunes/QWERTY/Track 2.mp3 
iTunes/QWERTY/Track 3.mp3 
iTunes/QWERTY/Track 4.mp3 

еще немного информации о файлах, которые могут помочь вам в ответ на мой вопрос:

  • все файлы внутри одной папки (а именно iTunes).
  • имена избыточных папок не идентичны в каждом случае (это связано с тем, что я иногда сокращал имя архива перед распаковкой, что приводило к чему-то вроде/iTunes/YUI/YUIOP/Track 1.mp3), но в в большинстве случаев они идентичны. надеюсь, это не повлияет на решение проблемы.
  • Я ужасно неграмотен в командной строке и буду очень признателен, если любые предлагаемые решения могут быть немного более «покровительствующими», чем обычно. объясните, как будто я 5, если это возможно.

Большое вам спасибо.

ответ

1

Вы можете открыть Finder и найти все файлы .mp3, а затем отбросить их в окно iTunes, чтобы они были обработаны. Это может оставить несколько пустых папок, но пока вы не OCD для этого, у вас будет ваша музыка.

1

Используйте этот скрипт (из каталога iTunes):

#!/bin/sh 
IFS=$'\n' 
for d in * 
do 
    if [ -d "$d" -a -d "$d"/"$d" ]; then 
     echo Processing $d 
     mv "$d"/"$d" "$d.tmp" || exit 2 
     rm -rf "$d" || exit 3 
     mv "$d.tmp" "$d" || exit 4 
    fi 
done 

Примечание:

  1. Это не тестировалась. Используйте на свой страх и риск!.
  2. Протестируйте его, скопировав некоторые каталоги в другом месте и попробовав его, прежде чем запускать его в своей музыкальной коллекции.
+0

Как я могу «использовать этот скрипт из каталога iTunes»? извините за тупой вопрос, но я действительно не знаю. я просто открываю терминал и бросаю все это там, указав каталог, где находится *? пожалуйста, помогите мне понять немного больше. – voxanimus

+0

Вам нужно ввести его в файл с помощью текстового редактора, сохранить его в каталоге и затем открыть terminal.app и 'cd/path/to/itunes'. Затем сделайте 'sh scripname.sh'.Этот материал заслуживает изучения как его мощная функция Unix, которую наследует Mac. – trojanfoe