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 04:00 | Nová verze

    Byla vydána nová verze 15.0 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 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 3
    včera 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    včera 03:55 | Nová verze

    Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 03:22 | Komunita

    Richard Hughes na Mastodonu oznámil, že se společnost Framework Computer stala sponzorem služby LVFS (Linux Vendor Firmware Service) umožňující aktualizovat firmware zařízení na počítačích s Linuxem.

    Ladislav Hagara | Komentářů: 0
    28.11. 18:55 | Humor

    Jak na webu co nejšíleněji zadávat datum? Jak to uživatelům co nejvíce znepříjemnit? V Bad UX World Cup 2025 (YouTube) se vybíraly ty nejšílenější UX návrhy. Vítězným návrhem se stal Perfect Date.

    Ladislav Hagara | Komentářů: 18
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Prejmenovavani souboru

    20.5.2015 18:18 Michal Urban | skóre: 7
    Prejmenovavani souboru
    Přečteno: 423×
    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.