Google Music Beta не будет загружать mp3 с пробелами в имени файла. Я хотел бы сценарий, который найдет все те, которые имеют пробел в имени файла и скопировать их, переименовать их (просто удалить пробелы или заменить на подчеркивание), и поместить их в новый каталог, чтобы он не винт до моей библиотеки iTunes. Заранее спасибо! Кроме того, я использую OS X.
2 ответа
Я не помню, установлен ли Perl на OS X по умолчанию, но если он у вас есть, вы можете использовать этот скрипт для очистки имен файлов. Прямо сейчас он удаляет скобки и апострофы и преобразует все в нижний регистр. Вы можете добавить строку
$ARGV[$argnum] =~ s/ //g;
удалить пробелы или
$ARGV[$argnum] =~ s/ /_/g;
преобразовать пробелы в подчеркивания.
Сохраните сценарий в свой каталог MP3, а затем вызовите следующее из командной строки:
./cleanmp3.pl *.mp3
$ ls
IAmAFile.mp3 I am a file with spaces in my name.mp3 IAmAnotherFile.mp3 I am another file with spaces in my name.mp3
Переименовывая их в цикл for ...
$ for file in *mp3; do mv -i "$file" `echo "$file" | sed 's/ /_/g'`; done
mv: `IAmAFile.mp3' and `IAmAFile.mp3' are the same file
mv: `IAmAnotherFile.mp3' and `IAmAnotherFile.mp3' are the same file
... результаты в:
$ ls
IAmAFile.mp3 I_am_a_file_with_spaces_in_my_name.mp3 IAmAnotherFile.mp3 I_am_another_file_with_spaces_in_my_name.mp3
Это работает для всех файлов в вашем текущем рабочем каталоге. Это немного уродливо, потому что mv выдает ошибку для всех файлов, которые не содержат пробелов, но выполняет свою работу. Флаг -i
заставляет mv запросить перезапись существующего штрафа, если версия с подчеркиванием уже существует.