Rsync da MacOS ad una SDCard Android ed i caratteri accentati

Il titolo è abbastanza esplicativo e chiunque abbia un po’ di dimestichezza con i sistemi *nix ed rsync sa come fare. Fin quando uno non si ritrova a sincronizzare una cartella di MP3 da un MacBook ad una chiavetta USB per l’autoradio ed il povero Fabrizio de Andrè o Gegè Telesforo vengono sempre sovrascritti ed asfaltati come se nel frattempo i file fossero stati modificati… ci vuole poco ad accorgersi che il motivo sono i caratteri accentati, un po’ di più a risolverlo, decisamente troppo a comprendere come funzionano i charset.

Già perchè alla fine ci abbiamo a che fare tutti da praticamente sempre con set di caratteri diversi tra sistemi operativi e piccole incompatibilità ed incongruenze. Mi aspettavo che Unicode risolvesse queste cose ed invece mi sono ritrovato a dover far tradurre i nomi dei file da UTF-8-MAC ad UTF-8-MAC. Non so perchè ne come ma funziona:

rsync -avrP $sorgente/ $destinazione/ --iconv=utf-8-mac,utf-8-mac

Dimenticavo di dirvi che rsync di MacOS non è nemmeno compilato col supporto iconv e dovrete installarvelo con brew od i macports.


E per farlo ancora più pulito ecco una funzioncina da appendere a .bash_aliases o .zprofile.

jb.sync () {
        rsync -avrP \
                --iconv=utf-8-mac,utf-8-mac \
                --exclude=Android/ --exclude=".Spotlight*/" \
                --delete
                ~/Music/Music\ Library.musiclibrary/Storrage/Music/ /Volumes/Senza\ nome/

Rispondi o commenta via email.