1

У меня есть сервер, который делится файлами через SMB. Сервер использует Ext4 для хранения файлов.

Сегодня я попытался скопировать следующий файл с сервера на Mac OS:

1-10 Bizet_ Carmen - Habañera.wav

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

file-//localhost/Volumes/torrents-tmp/downloads/1-10%20Bizet_%20Carmen%20-%20Haban%CC%83era.wav.webloc

Из 100 файлов около 10% файлов дают ту же проблему. Я даже не могу переименовать его из Mac OS. Если переименовать к n от сервера, то я могу скопировать его.

Другой пример такого файла:

10 Celebración.wav

Таким образом, кажется, что акценты сбивают с толку Mac OS, но я думал, что они являются частью Unicode.

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

1 ответ1

1

Запустите это на сервере, чтобы переименовать файлы. Он заменит все символы не-ascii на их эквивалент ascii:

find . -type f  | 
 perl -nCAS -MText::Unidecode -e 'chomp; rename "$_", unidecode("$_");'

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