Převod názvů souborů z ruzných znakových sad

Už se vám asi také stalo, že jste našli starý disk, který obsahoval názvy souborů ještě ze starých windows/DOSu, kdy se ještě UTF-8 nepoužívala. Soubory jsou díky tomu v současných systémech využívajících UTF-8 často nečitelné (programy je neumí otevřít). Řešením je jednoduchý příkaz convmv.

Takže:

sudo apt-get install convmv

V daném adresáři pak:

convmv -f cp852 -t utf8 *

– tento příkaz ještě nic neprovede, pouze vypíše co bude dělat. Pokud jsme spokojeni spustíme:

convmv -f cp852 -t utf8 --notest *

Pokud potřebujeme provézt příkaz i v podadresářích (1 úroveň), použijeme:

for dir in ~/podadresar/*; do (cd "$dir" && convmv -f cp852 -t utf8 --notest *);done

Případně úplně ve všech podadresářích (více úrovní):

find ./ -mindepth 1 -type d -exec convmv -f cp852 -t utf8 --notest {} \;

 

Za inspiraci děkuji tomuto příspěvku.