Občas dostanu ke zpracování soubory, které v názvech obsahují znaky, které se vůbec neslučují se zpracováním v určitých aplikacích. Potřebuji z názvů odstranit diakritiku a různé závorky, apostrofy a podobnou havěť. Velmi jednoduše se dá použít program detox, který se specializuje na likvidaci potenciálně problematických znaků v názvech souborů. Detox má připravené tabulky pro převod znaků v kódování UTF-8 a ISO 8859-1, umístěné v adresáři /usr/share/detox/ a dále je řízen takzvanými sekvencemi, které si můžete tvořit sami, nebo využít ty, které jsou definovány v souboru /etc/detoxrc. Detox je v repozitáři Universe, instaluje se klasicky:
$ sudo apt-get install detox
Doporučuji zhlédnout manuál:
$ man detox
$ nam detoxrc
$ man detox.tbl
$ nam detoxrc
$ man detox.tbl
Jako výchozí používá detox sekvenci pro vyčištění názvů kódovaných v UTF-8 a pokud nemáte nějaké specifické požadavky stačí spustit:
$ detox adresář/se/soubry
Je dobré se předem podívat, co program s názvy udělá, dříve, než provede přejmenování ve filesystému, k tomu slouží přepínač -n/--dry-run, který pouze vypíše seznam souborů s jejich potenciální náhradou.
$ detox -n adresář/se/soubry
Dále je zajímavý přepínač -r, pro rekurzivní přejmenování souborů v podadresářích.
Zde jsou nějaké další zdroje k problematice:
http://www.abclinuxu.cz/blog/firefox_bal/2010/8/detox-mdash-cistime-jmena-souboru
http://www.abclinuxu.cz/blog/Tomik/2007/11/uzitecne-skripty-7-hromadne-prejmenovani-souboru/
Zajímavý může být i program pyRenamer, který je také v repozitáři Ubuntu. Ten umí přehledně v grafickém rozhraní přejmenovávat podle různých pravidel, odstraní diakritiku, mezery, ale hromadné nahrazení speciálních znaků jsem tam nezahlédl.
WOW, tady občas člověk objeví hotové poklady o které by jinde nezakopl. Díky za tip, už jsme detoxikoval vše ze školních serverů kde málokdo umí normálně zipovat a pojmenovávat soubory.
OdpovědětVymazatJo, občas tu něco překvapí i mě :)
Vymazat