无法将带有重音符号的文件复制到 Mac OS

无法将带有重音符号的文件复制到 Mac OS

我有一台通过 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

在服务器上运行此命令来重命名文件。它将用其对应的 ascii 字符替换所有非 ascii 字符:

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

相关内容