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.