我有一些类似的音乐库,我想删除重复项(包含在光盘卷中,我从QNAP服务器无线加载)。我知道有些应用程序可以实现这一点(iTunes甚至可以处理这项工作)并可能最终走上这条路。
目前正在尝试使用Python脚本。许多文件都以非ASCII字符命名,我注意到一些奇怪的行为,如下图所示:
mikes-mbp-2:Multimedia mikekilmer$ ls -l Babel7/ | grep Šaban
ls: Šaban Bajramović: No such file or directory
-rwxrwxrwx 1 mikekilmer staff 0 May 7 00:48 Šaban Bvić
mikes-mbp-2:Multimedia mikekilmer$ ls Babel7/ | grep Šaban
Šaban Bajramović
Šaban Bvić
我知道有一张名叫ŠabanBajramovic的艺术家的CD。有时候它在取景器中是可见的,有时却没有,它会出现ls
,但不是ls -l
!
它不仅仅是文件名,因为我可以创建一个具有相同名称的文本文件,它似乎表现正常:
mikes-mbp-2:Multimedia mikekilmer$ touch Šaban\ Btwo
mikes-mbp-2:Multimedia mikekilmer$ vim Šaban\ Btwo
mikes-mbp-2:Babel7 mikekilmer$ ls -l | grep Šaban
ls: Šaban Bajramović: No such file or directory
-rwxrwxrwx 1 mikekilmer staff 0 May 7 00:48 Šaban Btwo
然后我想,也许它只是一个非ASCII字符,并尝试创建一个包含两个非ASCII字符的新文件,并得到了这个:
mikes-mbp-2:Babel7 mikekilmer$ mv Šaban\ Btwo Šaban\ Bvić
mikes-mbp-2:Babel7 mikekilmer$ ls -l | grep Šaban
drwxrwxrwx 1 mikekilmer staff 264 Apr 22 23:40 Šaban Bajramović
-rwxrwxrwx 1 mikekilmer staff 0 May 7 00:48 Šaban Bvić
还有一个非ascii字符的文件行为类似:
mikes-mbp-2:Multimedia mikekilmer$ ls -l Babel7/Switzerland_/Morrow\ 78\ Collection_/ | grep Strömpf
ls: Drei Lederne Strömpf_.mp3: No such file or directory
mikes-mbp-2:Multimedia mikekilmer$ ls Babel7/Switzerland_/Morrow\ 78\ Collection_/ | grep Strömpf
Drei Lederne Strömpf_.mp3
在他的情况下Drei Lederne Strömpf_.mp3
,它是在取景器中可见。
基于python代码,我很确定操作系统正在使用utf-8
编码。
我目前正在将ŠabanBajramović目录下载到本地驱动器,看它是否有任何不同。
洞察力希望。
将
—
MikeiLL 2015年
Šaban Bajramović
目录下载到本地驱动器后,它的行为符合预期。
ls
和ls -l
命令获得相同的行为。我正在使用的python脚本实际上是在服务器上运行时工作的,它通过Volumes目录通过本地终端运行时给出(间歇性?)文件未找到错误。嗯。