1

Google Music Beta не будет загружать mp3 с пробелами в имени файла. Я хотел бы сценарий, который найдет все те, которые имеют пробел в имени файла и скопировать их, переименовать их (просто удалить пробелы или заменить на подчеркивание), и поместить их в новый каталог, чтобы он не винт до моей библиотеки iTunes. Заранее спасибо! Кроме того, я использую OS X.

2 ответа2

1

Я не помню, установлен ли Perl на OS X по умолчанию, но если он у вас есть, вы можете использовать этот скрипт для очистки имен файлов. Прямо сейчас он удаляет скобки и апострофы и преобразует все в нижний регистр. Вы можете добавить строку

$ARGV[$argnum] =~ s/ //g;

удалить пробелы или

$ARGV[$argnum] =~ s/ /_/g;

преобразовать пробелы в подчеркивания.

Сохраните сценарий в свой каталог MP3, а затем вызовите следующее из командной строки:

./cleanmp3.pl *.mp3
0
$ 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 запросить перезапись существующего штрафа, если версия с подчеркиванием уже существует.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .