Impossibile copiare file con accenti su Mac OS


1

Ho un server che condivide i file tramite SMB. Il server utilizza Ext4 per archiviare i file.

Oggi ho provato a copiare il seguente file dal server a Mac OS:

1-10 Bizet_ Carmen - Habañera.wav

La prima volta è stato copiato ma non sono riuscito a vedere il file stesso. La seconda volta ho copiato nello stesso posto e ho ricevuto il codice di errore -8058. Dopo alcuni scavi ho scoperto che per qualche motivo questo particolare file viene copiato come link nel modo seguente:

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

Da circa 100 file circa il 10% dei file presenta lo stesso problema. Non sono nemmeno in grado di rinominarlo da Mac OS. Se cambio titolo a ndal server, allora posso copiarlo.

Un altro esempio di tale file è:

10 Celebración.wav

Quindi sembra che gli accenti confondano Mac OS, ma ho pensato che facessero parte di Unicode.

Come soluzione per poterlo copiare, come posso rinominare automaticamente tutti i file non validi?


Come stai copiando i file? Finder? Riga di comando?
terdon,

built-in Finder, Path Finder, Disk Order .. stesso risultato.
Pablo,

Hai provato dalla riga di comando?
terdon,

sì. cp: 1-10 Bizet_ Carmen - Habañera.wav: No such file or directory
Pablo,

Era tra virgolette? cp "1-10 Bizet_ Carmen - Habañera.wav" /path/to. Inoltre, assicurati che sia il server che il client utilizzino UTF8
terdon

Risposte:


1

Esegui questo sul server per rinominare i file. Sostituirà tutti i caratteri non ASCII con il loro equivalente ASCII:

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

Can't locate Text/Unidecode.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .). BEGIN failed--compilation aborted.
Pablo,

@Pablo accidenti. Dovrai installare il Text::Unidecodemodulo. Vedi qui e qui per le istruzioni.
terdon,

sì, sembra che funzioni. Controllerò un po 'e torno. Modulo installato con sudo apt-get install libtext-unidecode-perlsu Ubuntu.
Pablo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.