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 20:22 | Nová verze

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové verzi 2.9. Hlavní novinkou je deno desktop pro převod Deno projektu na desktopovou aplikaci. Jedná se o alternativu k frameworkům Electron nebo Tauri.

    Ladislav Hagara | Komentářů: 1
    dnes 15:44 | IT novinky

    Od zítra jsou Datové schránky oficiálně na nové adrese datovka.gov.cz. Adresa mojedatovaschranka.cz zůstává funkční do 27. srpna 2026, následně budou uživatelé automaticky přesměrováni na datovka.gov.cz.

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | Nová verze

    Dolphin (Wikipedie), tj. open source multiplatformní emulátor herních konzolí GameCube a Wii od Nintenda, byl vydán ve verzi 2606. S podporou Game Boy Playeru.

    Ladislav Hagara | Komentářů: 0
    dnes 11:11 | Zajímavý software

    Vasudeva Kamath představil utilitu debvulns, alternativu k nativní utilitě debsecan, pro výpis zranitelností v Debianu. Navíc má především možnost výstupu ve strukturovaných formátech JSON a CSV. V plánu je exportér pro Prometheus.

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

    Oficiální český státní eshop s elektronickými dálničními známkami nově najdete na edalnice.gov.cz. Doména gov.cz jasně potvrzuje, že jste na oficiálním státním webu [𝕏].

    Ladislav Hagara | Komentářů: 19
    včera 14:22 | Nová verze

    Byla vydána nová verze 4.8.0 interaktivního shellu fish (friendly interactive shell, Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    včera 12:00 | Nová verze

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem se nově stal čínský LineShine v Národním superpočítačovém centru v Šen-čenu (NSCS) s výkonem 2,198 exaFLOPS. Z prvního místa sesadil americký superpočítač El Capitan s výkonem 1,809 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 215 místo. Karolina, GPU partition klesla na 249. místo a Karolina, CPU partition na 475. místo.

    … více »
    Ladislav Hagara | Komentářů: 11
    23.6. 21:00 | IT novinky

    Zemřel průkopník videoherní hudby Bobby Prince (Wikipedie). Složil hudbu pro hry Wolfenstein 3D, Doom, Doom II, Duke Nukem II a Duke Nukem 3D.

    Ladislav Hagara | Komentářů: 15
    23.6. 15:55 | IT novinky

    Počítačová hra Operace Flashpoint (Arma: Cold War Assault) od společnosti Bohemia Interactive slaví 25 let. Při této příležitosti bylo publikováno bezplatné hratelné Arma: Cold War Assault Remastered Demo a na GitHubu byly zveřejněny zdrojové kódy.

    Ladislav Hagara | Komentářů: 0
    23.6. 12:22 | IT novinky

    Na trh v České republice přichází HP EliteBoard G1a. Jde o plnohodnotný AI počítač integrovaný přímo do těla klávesnice, tedy zařízení, které na první pohled vypadá jako minimalistická klávesnice, ale ve skutečnosti nahrazuje klasickou počítačovou jednotku.

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


    Dotaz: Jak na kontrolu znaků

    24.2.2013 18:31 Martin
    Jak na kontrolu znaků
    Přečteno: 342×
    Dobrý večer, nemá někdo bash podmínku-script který dokáže zjistit, jestli daný řetězec obsahuje pouze znaky malé znaky bez diakritiky a čísla? Nesmí obsahovat háčky, čárky, velké znaky, mezery, tečky, limítka, podtržítka, pomlčky prostě nic, jen abcdefghijklmnoprstvwxyz0123456789 Může někdo znalý pomoci? Děkuji Martin

    Odpovědi

    24.2.2013 18:35 chrono
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    if [[ "retazec" =~ ^[a-z0-9]*$ ]]
    then
        echo "retazec je OK"
    fi
    
    24.2.2013 20:51 potato
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    if [[ "retazec" =~ '^[a-z0-9]*$' ]]
    paranoi není nikdy dost.
    24.2.2013 22:18 rubicon
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    Což o to, zdravá opatrnost není na škodu, ale v tomhle případě radíte špatně.

    "Any part of the pattern may be quoted to force it to be matched as a string."

    Pokud $retazec neobsahuje identickou posloupnost znaků mezi uvozovkami, bude návratová hodnota 1, což tazatel zajisté nechtěl.
    24.2.2013 22:52 potato
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    Mea culpa, [[ ... ]] je svérázná konstrukce, uvnitř níž neprobíhají některé expanze. Navíc neexistuje způsob, jak zapsat totéž pomocí test, takže jsme se opět syntakticky přiblížili perlu :(
    25.2.2013 08:09 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    Navíc neexistuje způsob, jak zapsat totéž pomocí test, takže jsme se opět syntakticky přiblížili perlu :(

    Jste si jistý, že neexistuje? Co třeba

      if [ -z "${str//[[:alnum:]]}" ]; then
          ...
      fi
    

    Mimochodem, "[0-9a-z]" u mne v locale cs_CZ.UTF-8 zahrnuje všechna malá i velká písmena kromě ž, Z a Ž. Pochybuji, že to je to, co měl tazatel na mysli.

    25.2.2013 09:22 chrono
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    [[:alnum:]] zase zahŕňa aj veľké písmená. :) (takže správna kombinácia bude [[:lower:][:digit:]] )
    25.2.2013 09:24 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    Jak je zmíněno v příspěvku, na který odpovídáte, [a-z] také - tedy aspoň většinu z nich.
    25.2.2013 15:03 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    Správná kombinace to nebude, protože malá písmena s nabodeníčky nejsou o nic menší, než malá písmena bez nich, takže [:lower:] zahrnuje i ty háčkované a čárkované, kroužkované nevyjímaje, a to jsem zatím jen u češtiny či slovenčtiny, takže si ještě račme přenastaviti locale :-)
    25.2.2013 20:11 potato
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    Myslel jsem test na regulární výraz obecně, který je v bashi možný pouze pomocí [[ ... ]].

    Lokalizace je samozřejmě při skriptování mor, protože příkazy mají zřídka jasnou hranici mezi výstupem pro člověka a výstupem pro další zpracování, a jediná pomoc je automaticky export LC_ALL=C v každém skiptu, který čte výstup čehokoli nebo pracuje se znaky.
    25.2.2013 14:56 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    Ono je vůbec otázka proč to psát pomocí test, když stačí grep.
    if grep -q "^[[:lower:][:digit:]]*$" <<<"123abc"; then
      echo "ok..."
    fi
    A v tom [[ ]] nemusíte dávat do uvozovek ani ten $retezec, když jsme u toho, takže ano, při porovnávání s test lze očekávat spíš odlišnosti než podobnosti.
    25.2.2013 15:33 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    Ono je vůbec otázka proč to psát pomocí test, když stačí grep

    Příkaz test je v bashi builtin, grep ne. Tedy aspoň zatím ne. :-)

    25.2.2013 15:07 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Jak na kontrolu znaků
    retezec="abcdefghijklmnoprstvwxyz0123456789"
    
    LC_ALL=C
    
    if [[ $retazec =~ ^[[:lower:][:digit:]]*$ ]]
    then
        echo "retazec je OK"
    fi
    a případně vrátit locale zpět.

    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.