abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 3
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 21
    21.4. 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

    Ladislav Hagara | Komentářů: 7
    21.4. 00:11 | Nová verze

    Po osmi měsících vývoje byla vydána nová verze 0.12.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 268 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    20.4. 23:55 | Pozvánky

    Poslední měsíc byl plný zajímavých akcí, o kterých Vám bastlíři z projektu MacGyver mohou povědět, protože se na ně sami vydali. Kde všude byli, ptáte se? Objevili se na Installfestu, Arduino Day, Hackaday Europe a tajném srazu bastlířů z Twitteru. A z každé akce pro vás mají zajímavé poznatky.

    … více »
    bkralik | Komentářů: 1
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (17%)
    Celkem 670 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Prejmenovavani souboru

    20.5.2015 18:18 Michal Urban | skóre: 7
    Prejmenovavani souboru
    Přečteno: 338×
    Zdravim,

    uz dva dny hledam a nedari se mi vyresit nasledujici problem. Mam v adresarove strukture eknihy, ktere bych chtel zbavit nestandardnich znaku. Hledam napr. nasledujici zmenu

    Èarodìj-[01]-Èarodìjem-sobì-navzdory.pdb

    Carodej-[01]-Carodejem-sobe-navzdory.pdb

    Bohuzel i kdyz jsem narazil na dost "reseni" pres sed, iconv, tr atp., tak mi zadne nefungovalo. Nemeli byste tu nekdo jednoduche, funkcni a hotove reseni? Na to, jaka je to blbost, se s tim patlam uz desnou dobu ... :O

    Diky za rady,

    Michal

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Michal Urban (tazatel))
    20.5.2015 19:12 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: Prejmenovavani souboru
    for file in *; do mv -v $file `echo $file | iconv -f [KODOVÁNÍ NÁZVŮ SOUBORŮ] -t ASCII//TRANSLIT`; done
    
    20.5.2015 22:35 Michal Urban | skóre: 7
    Rozbalit Rozbalit vše Re: Prejmenovavani souboru
    Ok, diky moc! Tohle fungovalo docela dobre, skript, ktery jsem nejakym zazrakem stvoril, je zde:
    #!/bin/bash
    IFS='
    '
    find -type f | while read file
    do
    newfile=`echo $file | iconv -f [UTF-8] -t ASCII//TRANSLIT`
    mv -v $file $newfile
    done
    
    Jenze tam bylo velke mnozstvi nazvu souboru se znaky typu ctvrtecek, sipka atp. (netusim proc), ktere byly nahrazeny otaznikem ... takze ted bych jeste potreboval vyresit, jak vymenit otazniky treba za X ... :)
    20.5.2015 22:49 Michal Urban | skóre: 7
    Rozbalit Rozbalit vše Re: Prejmenovavani souboru
    Zkusil jsem to udelat takhle:
    #!/bin/bash
    IFS='
    '
    find -type f | while read file
    do
    rename s/?/X $file
    done
    
    Ale neustale mi to vraci chybu "Substitution replacement not terminated at (eval 1) line 1." coz zrejme souvisi s chybnym nastavenim prikazu rename. Jestli nekdo vite, co s tim, tak se nebranim rade :), ale ted musim letet spat ... :D
    20.5.2015 21:22 nobody
    Rozbalit Rozbalit vše Re: Prejmenovavani souboru
    Nebo pomoci convmv po doinstalovani, teda do 7bit ASCII to neumi, takze neoholi diakritiku, ale prevede ji...
    # v Debian/Ubuntu/Mint:
    sudo apt-get install convmv
    
    # rekurzivne pouze otestovat jak by jmena prevadelo z windows 1250
    convmv -r -f cp1250 -t utf8 *
    
    # nebo z pc latin 2
    convmv -r -f cp852 -t utf8 *
    
    # nebo z iso latin 2
    convmv -r -f iso-8859-2 -t utf8 *
    
    # pokud ok, tak realne prevest (s tim spravnym -f codovanim)
    convmv -r -f cp1250 -t utf8 --notest *
    
    20.5.2015 22:08 Michal Urban | skóre: 7
    Rozbalit Rozbalit vše Re: Prejmenovavani souboru
    Bohuzel:
    michal@mobile-250gb /mount/dataspace/Downloads/TEMP/Stasheff, Christopher $ convmv -r -f cp1250 -t utf8 *Starting a dry run without changes...
    Skipping, already UTF-8: ./Èarodìj-[00-08]-Uniková-rychlost.pdb
    Skipping, already UTF-8: ./Èarodìj-[01]-Èarodìjem-sobì-navzdory.pdb
    Skipping, already UTF-8: ./Èarodìj-[02]-Vzkøíšení-krále-skøeta.pdb
    Skipping, already UTF-8: ./Èarodìj-[03]-Odpoutaný.pdb
    No changes to your files done. Use --notest to finally rename the files.
    michal@mobile-250gb /mount/dataspace/Downloads/TEMP/Stasheff, Christopher $ convmv -r -f cp852 -t utf8 *
    Starting a dry run without changes...
    Skipping, already UTF-8: ./Èarodìj-[00-08]-Uniková-rychlost.pdb
    Skipping, already UTF-8: ./Èarodìj-[01]-Èarodìjem-sobì-navzdory.pdb
    Skipping, already UTF-8: ./Èarodìj-[02]-Vzkøíšení-krále-skøeta.pdb
    Skipping, already UTF-8: ./Èarodìj-[03]-Odpoutaný.pdb
    No changes to your files done. Use --notest to finally rename the files.
    michal@mobile-250gb /mount/dataspace/Downloads/TEMP/Stasheff, Christopher $ convmv -r -f iso-8859-2 -t utf8 *
    Starting a dry run without changes...
    Skipping, already UTF-8: ./Èarodìj-[00-08]-Uniková-rychlost.pdb
    Skipping, already UTF-8: ./Èarodìj-[01]-Èarodìjem-sobì-navzdory.pdb
    Skipping, already UTF-8: ./Èarodìj-[02]-Vzkøíšení-krále-skøeta.pdb
    Skipping, already UTF-8: ./Èarodìj-[03]-Odpoutaný.pdb
    No changes to your files done. Use --notest to finally rename the files.
    
    
    20.5.2015 22:45 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
    Rozbalit Rozbalit vše Re: Prejmenovavani souboru
    Tо vypadá jako následek vybalení nějakého archivu, pak se někdy stává, že se kódování poplete. Teď už jsou názvy v UTF-8, není je proto kam převádět. Nejjednodušší bude vyrobit si převodní tabulku a překládat názvy přеs ni:
    STARE="Èìø"
    NOVE="Čěř"
    find . -type f | while read file; do
      path="${file%/*}"
      oldfile="${file##*/}"
      newfile="$(<<<"$oldfile" | tr "$STARE" "$NOVE")"
      if [ "$oldfile" != "$newfile" ]; then
        echo mv "$path/$file" "$path/$newfile"
      fi
    done
    
    Pokud to pojede, tak stačí dát echo pryč. V dalším kroku je potřeba obdobně přejmenovat adresáře, ale nechce se mi to vymýšlet. Tam už to jeden find nespraví a bude potřeba rekurzivně procházet skriptem adresářovou strukturou, v aktuálním adresáři všechny podadresáře přejmenovat a sestoupit o úroveň hlouběji.
    Josef Kufner avatar 20.5.2015 23:14 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Prejmenovavani souboru
          --nosmart
               by default convmv will detect if a filename is already UTF8 encoded and will skip this file if conversion from
               some charset to UTF8 should be performed.  "--nosmart" will also force conversion to UTF-8 for such files, which
               might result in "double encoded UTF-8" (see section below).
    
           --fixdouble
               using the "--fixdouble" option convmv does only convert files which will still be UTF-8 encoded after
               conversion. That's useful for fixing double-encoded UTF-8 files. All files which are not UTF-8 or will not
               result in UTF-8 after conversion will not be touched. Also see chapter "How to undo double UTF-8 ..."  below.
    
    
    Hello world ! Segmentation fault (core dumped)
    20.5.2015 23:44 Lubos Kopecky | skóre: 32
    Rozbalit Rozbalit vše Re: Prejmenovavani souboru
    v mc F6 a napis novy nazev
    21.5.2015 12:01 Michal Urban | skóre: 7
    Rozbalit Rozbalit vše Re: Prejmenovavani souboru
    To s tim carodejem byl jen priklad. (Viz v textu hlasky "Mam v adresarove strukture eknihy" a "Hledam napr. nasledujici zmenu"). Tech souboru je nekolik tisic. Kvuli jednomu souboru bych nepsal skript. :D

    Založit nové vláknoNahoru

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

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