abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 22:33 | Nová verze

    Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.

    Ladislav Hagara | Komentářů: 1
    dnes 14:33 | Nová verze

    Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | Upozornění

    CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.

    Ladislav Hagara | Komentářů: 7
    dnes 13:44 | Pozvánky

    Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.

    Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »
    bkralik | Komentářů: 0
    dnes 04:44 | Zajímavý software

    Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.

    Ladislav Hagara | Komentářů: 1
    dnes 02:00 | IT novinky

    Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …

    Ladislav Hagara | Komentářů: 1
    včera 20:44 | Komunita

    Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | Nová verze

    Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | IT novinky

    DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.

    Ladislav Hagara | Komentářů: 18
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 242 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    detox — čistíme jména souborů

    2.8.2010 14:34 | Přečteno: 2905× | GNU/Linux | Výběrový blog

    Dostal jsem se do situace, kdy mám na pevném disku minimálně desítky souborů, které ve svém názvu obsahují problémové znaky. Ručně je přejmenovávat by mi zabralo hromadu času. Ale taky proč to dělat, když existuje program detox.

    K čemu slouží program detox

    Program detox slouží k (hromadnému) přejmenování souborů — odstraňuje z jmen souborů mezery a jiné problémové znaky.

    Co jsou to sekvence?

    Pojem sekvence vyjadřuje sérii filtrů, podle kterých bude progarm detox přejmenovávat jednotlivé soubory.

    Začínáme

    Program detox, jeho konfigurační soubory (/etc/detox/detoxrc a ~/.detoxrc) a převodní tabulky tvoří celek potřebný pro správnou funkci přejmenovávání souborů.

    Důležité volby programu detox

    Pro začátek je asi nejdůležitější volba -Lv, která nám zobrazí aktuálně dostupné sekvence plus zobrazí všechny filtry, které jednotlivé sekvence obsahují.

    Podle mě nejdůležitější volbou je -s sekvence, která způsobí, že program detox nepoužije na přejmenování sekvenci default, nýbrž použije sekvenci sekvence.

    Přejmenovávání "nanečisto" umožňuje volba -n --dry-run, díky níž zjistíme, co by se stalo. Tato volba tedy nemění nic.

    Konfigurační soubory programu detox

    Normálně existují dva konfigurační soubory — /etc/detox/detoxrc (globální konfigurační soubor) plus každý uživatel může mít svůj konfigurační soubor ~/.detoxrc. Na příkladě budu vysvětlovat:

    sequence "utf_8" {
            utf_8;
            safe;
            wipeup;
    };
    

    Tento příklad vytváří (definuje) sekvenci utf_8 obsahující filtry (sekvence), které budou aplikovány při přejmenovávání souborů. Dále popíšu podle mě důležité filtry (sekvence):

    utf_8 {filename "/path/to/filename";};

    Převede Unicode (UTF-8) znaky na "bezpečné ekvivalenty". /path/to/filename je textový soubor obsahující informace pro převod znaků. Vynecháme-li filename "/path/to/filename", bude program detox hledat unicode.tbl.

    safe {filename "/path/to/filename";};

    Převede znaky, které by dělaly problémy v systémech UNIX(-like), na znaky, které problémy v UNIX(-like) systémech nedělají.

    wipeup {remove_trailing;};

    Více podtržítek nebo pomlček budou převedeny na jedno podtřžítko či pomlčku. Série pomlček a podtržítek bude převedena na jednu pomlčku. remove_trailing způsobí odstranění pomlčky či podtržítka, které jsou následovány ihned tečkou.

    max_length {length value;};

    Ořeže jméno souboru na length (nebo méně) znaků. Program detox se pokusí zachovat všechno po poslední tečce (tedy zachová příponu souboru).

    lower;

    Program detox převede velká písmena na malá.

    # Comments

    Cokoli za znakem '#' je ignorováno.

    Ještě jeden příklad

    sequence "default" {
            utf_8;
            safe;
            lower;
            wipeup;
    };
    

    Program detox aplikuje na jména souborů postupně filtry (sekvence) utf_8, safe, lower a wipeup. Jedná se o výchozí ("default") sekvenci — pokud tedy výslovně (pomocí -s) nezvolíte jinou sekvenci, bude použita tato výchozí.

    Závěr

    Program detox umožňuje ovlivnit práci filtrů pomocí převodních tabulek. Viz parametr filename "/path/to/filename" u filtrů utf_8, safe. Pro víc informací viz man detox, man detoxrc a man detox.tbl.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    gtz avatar 2.8.2010 14:44 gtz | skóre: 27 | blog: gtz | Brno
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů
    Já jsem něco podobného řešil přes python.

    #! /usr/bin/env python
    import os
    spatne = list('''!"#$%&\'()*+,/:;<=>?@[\\]^_`{|}~ ''')
    repl = "_"
    for root,dir,files in os.walk(os.getcwd()):
            for fi in files:
                    for ill in spatne:
                            if ill in fi:     
                                    print "found ",  os.path.join(root,fi)                        
                                    newname = fi.replace(ill,repl)
                                    os.rename( os.path.join(root,fi) , os.path.join(root,newname) )
    

    až budu něco podobného řešit příště tak detox zkusím.
    - nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
    2.8.2010 15:17 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů

    Díky. Mám v plánu se minimálně základy Pythonu naučit.

    gtz avatar 2.8.2010 15:25 gtz | skóre: 27 | blog: gtz | Brno
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů
    Není zač, není to můj výtvor, já to mám také od jednoho známého.
    - nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
    2.8.2010 19:33 P.
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů
    Odsazování 8 mezerama působí nepřirozeně.
    2.8.2010 15:03 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů
    ls -b
    rofl.rofl avatar 2.8.2010 15:08 rofl.rofl | skóre: 10
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů
    Bezvadnej program, neznal jsem a děkuju. :-)
    Mozek je aparát, jehož pomocí si myslíme, že myslíme.
    2.8.2010 15:15 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů

    :-) Není zač.

    Jan Zahornadsky avatar 2.8.2010 17:57 Jan Zahornadsky | skóre: 22 | blog: hans_blog
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů
    Není jednodušší a systémovější kódování vždy správně nastavit? Napsoledy, když jsem ten detox zkoušel, tak mi z pokusného adresáře zbyla jen kupa velmi divně pojmenovaných souborů místo původně aspoň trochu vizuálně odlišitelných názvů (ač byly v kdejakých písmech).
    Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.
    gtz avatar 2.8.2010 18:17 gtz | skóre: 27 | blog: gtz | Brno
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů
    Někdy to prostě nejde, já jsem před nějakou dobou obnovoval data jednomu pánovi, obnova dopadla jak měla, ale problém byl s jeho soubory. On to měl na vidlích a nějak se nezatěžoval pojmenováním souborů. Pak se tam dal najít chaos typu "ěščř.jpg apod." a s tím se moc dělat nedalo. Bylo toho tehdy 20 adresářů a v každém skoro 1000 souborů, kdy takto zmršeno byla snad 1/3. Jak jsem psal o něco výše kolega mi poslal nějaký python script, přes který se to dalo rychle udělat.

    Když to jde tak je to pohoda, ale pokud se člověk setká právě s takovým chaosem tak mu nic jiného nezbývá než použít něco podobného.

    jak jsem se dnes díval na ten detox, neměl by být problém ho nastavit tak, aby dělal co má.
    - nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
    Jan Zahornadsky avatar 2.8.2010 18:54 Jan Zahornadsky | skóre: 22 | blog: hans_blog
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů
    Měl jsem na mysli třeba ruské album, kde se každá skladba jmenuje v azbuce. Člověk pak po "detoxikaci" nerozezná, co je co i přesto, že by to předtím třeba i tipnul/vyslabikoval. Proto mi přijde, že nechat si takto zkonvertovat vše jenom proto, aby kdyby to někdo náhodou někam kopíroval, tak si nemusel hrát s kódováním, může být docela kontraproduktivní.

    Jinak v tom zmiňovaném případě, kde je ten chaos (kromě toho, že si někdo špatně organizuje data, co ale na žádné technologii nezávisí)? Pokud se převede kódování z Win cp-1250 na cokoli má ten nový systém, tak si své jména souborů mohl nadále užívat :-)
    Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.
    4.8.2010 17:52 jsn
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů
    nenapada nekoho reseni nasledujiciho problemu:

    - pripojuji se z NB (Fedora) pres ICA klienta do korporatniho Citrixu - z Citrixu ukladam radu souboru na "lokalni disk" ICA klienta (mech. A:) - je namapovany na lokalni disk NB (a tedy Linuxu) - Citrix zapisuje jmena souboru ve Win-1250 - NB pracuje v UTF-8

    Nektere soubory vznikaji v Linuxu a pote je s nimi potreba pracovat v Citrixu, jine vzniknou na Citrixu a pracuji s nimi poslez na NB.

    Existuje nejaka moznost prekodovani jmen souboru, ktera problem resila? Napriklad namontovat lokalni FS jeste podruhe na jiny montovaci bod a premapovat pritom kodovani jmen souboru ... Nebo neco uplne jineho.
    4.8.2010 18:01 VSi | skóre: 28
    Rozbalit Rozbalit vše Re: detox — čistíme jména souborů
    Tohle by měl řešit sám ten ICA klient. Nejde to někde v něm nastavit? Jinak je to jasná chyba, která by se měla opravit.

    Připojit FS podruhé (ve většině případů) nejde. Jedině jestli neexistuje nějaký nástroj podobný bind mount, který by dělal překódování. O ničem takovém nevím.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.