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í
×
    včera 16:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 166 (pdf).

    Ladislav Hagara | Komentářů: 1
    včera 03:33 | Pozvánky

    Blíží se prázdniny a než se rozutečete k moři, je na čase se opět sejít na Virtuální Bastlírně - pravidelném setkání elektroniků, ajťáků, bastlířů a obecně nadšenců do techniky. Co si pro vás strahovští bastlíři připravili tentokrát? Určitě proberou blížící se Linux Days i další události. U softwaru se chvíli zdrží a poví si kupříkladu o tom, jak se zbavit Bambu Cloudu, ale nepřijít o možnost ovládat tiskárnu na dálku. Řeč dojde i na AI,

    … více »
    bkralik | Komentářů: 1
    včera 03:22 | Nová verze

    Vývojáři postmarketOS vydali verzi 26.06 tohoto operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 1
    včera 03:11 | Nová verze

    Byla vydána nová verze 2.55.0 distribuovaného systému správy verzí Git. Přispělo 100 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    29.6. 20:22 | IT novinky

    Craig Loewen na blogu Microsoftu oznámil veřejnou preview verzi WSL kontejnerů, tj. linuxových kontejnerů ve Windows Subsystem for Linux (WSL). Spouští se příkazem wslc.exe.

    Ladislav Hagara | Komentářů: 1
    29.6. 19:00 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 2026.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 9 nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    29.6. 12:55 | Nová verze

    Grafická aplikace Krokiet/Czkawka pro vyhledávání a odstraňovaní nepotřebných souborů (duplicitní soubory, prázdné složky, podobné obrázky, podobná videa, poškozené soubory a další) byla vydána ve verzi 12.0.0. Podrobný přehled novinek v příspěvku na Medium. Jedná se o poslední verzi frontendu Czkawka GTK nad Czkawka Core. Uživatelům se doporučuje migrovat na frontend Krokiet postavený nad frameworkem Slint. Představena byla aplikace Cedinia pro Android využívající Czkawka Core. Dostupná je jako APK pro ruční instalaci.

    Ladislav Hagara | Komentářů: 6
    29.6. 04:22 | Nová verze

    Po téměř třech letech od vydání verze 9 byla vydána nová verze 10 linuxové distribuce Mageia (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    28.6. 04:00 | Zajímavý software

    Nourish (GitHub) je nový správce oken pro Linux. Tradiční plochy nahrazuje nekonečným plátnem a posouváním a přibližováním. Využívá vlastní kompozitor pro Wayland s názvem y5. Videoukázka.

    Ladislav Hagara | Komentářů: 6
    27.6. 15:33 | Komunita

    Po 20 letech a 17 otevřených (open source) krátkých filmech Blender Studio oznámilo plán na svůj první celovečerní film. Cílem samozřejmě není jenom nový otevřený film, ale především vývoj a vylepšení otevřených nástrojů pro spolupráci napříč celým procesem a vytvoření otevřené příručky (playbook) pro filmovou produkci ve velkém měřítku s informacemi, které jsou obvykle dostupné pouze uvnitř komerčních studií, a pomoci tak nezávislým tvůrcům překonat technické a organizační bariéry.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (26%)
    Celkem 2020 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: České třídění v perlu

    18.10.2012 19:23 Tomáš
    České třídění v perlu
    Přečteno: 685×
    Nevím jak donutit perl, aby třídil správně česky, jakmile přepnu LC_COLLATE zařadí se řetězce s mezerou chybně na konec:
    use POSIX qw /locale_h/;
    use locale;
    
    @a = ('A š', 'A v', 'Aaa');
    
    setlocale LC_COLLATE, "C";
    print "$_\n" foreach sort @a;
    
    print "\n";
    setlocale LC_COLLATE, "cs_CZ.UTF-8";
    print "$_\n" foreach sort @a;
    
    A v
    A š
    Aaa
    
    Aaa
    A š
    A v
    

    Odpovědi

    18.10.2012 20:52 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu

    No jestli on nebude problém spíš v tom, že sort v Perlu spoléhá na to, co mu "vrátí systémový sort". Viz následující:

    mike@tinky:~$ locale
    LANG=cs_CZ.UTF-8
    LANGUAGE=
    LC_CTYPE="cs_CZ.UTF-8"
    LC_NUMERIC="cs_CZ.UTF-8"
    LC_TIME="cs_CZ.UTF-8"
    LC_COLLATE="cs_CZ.UTF-8"
    LC_MONETARY="cs_CZ.UTF-8"
    LC_MESSAGES="cs_CZ.UTF-8"
    LC_PAPER="cs_CZ.UTF-8"
    LC_NAME="cs_CZ.UTF-8"
    LC_ADDRESS="cs_CZ.UTF-8"
    LC_TELEPHONE="cs_CZ.UTF-8"
    LC_MEASUREMENT="cs_CZ.UTF-8"
    LC_IDENTIFICATION="cs_CZ.UTF-8"
    LC_ALL=
    mike@tinky:~$ cat ./foo 
    A š
    A v
    Aaa
    mike@tinky:~$ sort ./foo 
    Aaa
    A š
    A v
    

    Možná bych popřemýšlel o použití Cz::Sort

    Je nesmírně těžké být idiotem, konkurence je obrovská...
    18.10.2012 21:58 tom
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Ono to je nejspis podle normy dobre, protoze ta pred abecedu radi jen tvrdou mezeru.
    18.10.2012 22:11 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Jak je to přesně podle normy netuším :-( Na to by musel odpovědět nějaký znalec, za kterého se rozhodně nepovažuji...
    Je nesmírně těžké být idiotem, konkurence je obrovská...
    18.10.2012 22:51 tom
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Ve vycucu z ČSN 97 6030 se pise
    Spojovník a nepřerušující mezera před abecedou.
    vizte http://racek.vlada.cz/usneseni/usneseni_webtest.nsf/WebGovRes/0AD8FEF4CC04B7A4C12571B6006D69D0?OpenDocument
    19.10.2012 12:45 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Díky za odkaz - člověk se pořád učí. Nicméně bych si v tomto případě dovolil postesknout nad jistou nelogičností, kterou v tomto pravidle vidím. Ačkoliv chápu, že v češtině máme podobných úchvatných „mozkolamů“ přehršel, tak konkrétně v tomto případě je to opravdu na mašli. Pokud odhlédneme od typografie, kde rozdíl mezi spojovníkem, nezalomitelnou mezerou a obyčejnou mezerou dává smysl, tak při řazení slov smysl poněkud postrádám. Ale jak jsem psal v předchozím příspěvku, necítím se být odborníkem na všechny kličky mého rodného jazyka a jsem rád, že intuitivně ovládám alespoň jeho základy.
    Je nesmírně těžké být idiotem, konkurence je obrovská...
    19.10.2012 12:47 l4m4
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Tady ale nejde o řazení slov, slova mezery neobsahují žádné. Jde o řazení frází.
    18.10.2012 20:55 Mirek
    Rozbalit Rozbalit vše Re: České třídění v perlu
    18.10.2012 21:42 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Proměnnou LANG může mít nastavenou jak chce, protože v tom skriptu si nastavuje dle potřeby LC_COLLATE na cs_CZ.utf8 ;-)
    Je nesmírně těžké být idiotem, konkurence je obrovská...
    18.10.2012 22:08 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu

    Problém je v tom, že v definici locale je pro znak "mezera" (nejen) v cs_CZ.utf8 krpa, která znepříjemňuje život nejen v Perlu, ale tak nějak napříč systémem. :-( Existuje pro to dokonce zdokumentovaná oprava:

    1. V souboru /usr/share/i18n/locales/cs_CZ je třeba opravit řádek:
      <U0020> IGNORE;IGNORE;IGNORE;<U0020> na <U0020> <U0020>;IGNORE;<U0020>;<U0020>
    2. Vypsat z archivu všechny české definice:
      $ localedef --list-archive | grep cs_CZ
      cs_CZ
      cs_CZ.utf8
      
      a smazat je:
      localedef --delete-from-archive cs_CZ
      localedef --delete-from-archive cs_CZ.utf8
      
    3. Vytvořit novou binární podobu z opravené textové definice:
      localedef -i /usr/share/i18n/locales/cs_CZ -f UTF-8 /usr/lib/locale/cs_CZ
      localedef -i /usr/share/i18n/locales/cs_CZ -f UTF-8 /usr/lib/locale/cs_CZ.UTF-8
      
    4. V adresáři s archivem přidat binárky do archivu:
      cd /usr/lib/locale/
      localedef --add-to-archive cs_CZ
      localedef --add-to-archive cs_CZ.UTF-8
      
    5. Na konci pro jistotu zkontrolovat, že je vše OK:
      $ localedef --list-archive | grep cs_CZ
      cs_CZ
      cs_CZ.utf8
      

    A voilá po opravě locale:

    $ cat foo 
    A v
    Abc
    A b
    A š
    A č
    Aaa
    
    $ sort foo 
    A b
    A č
    A š
    A v
    Aaa
    Abc
    
    

    Je nesmírně těžké být idiotem, konkurence je obrovská...
    19.10.2012 10:45 Tomáš
    Rozbalit Rozbalit vše Re: České třídění v perlu

    Díky moc

    A musim říct, že v glibc jsem chybu opravdu nečekal, nemělo by se to někam bugreportovat? Nebo existuje nějaký důvod proč je to takhle?

    19.10.2012 12:01 tom
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Nebo existuje nějaký důvod proč je to takhle?
    http://www.abclinuxu.cz/poradna/programovani/show/367555#7

    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.