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 12:22 | Komunita

    Richard Stallman v den oslav 40. výročí GNU oznámil, že má rakovinu (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 08:00 | Zajímavý projekt

    DIY trackball Ploopy novou variantu Adept, na rozdíl od předchozích používá 44mm kouli, má symetrický tvar a šest tlačítek, snímač zůstává PMW-3360, novinkou je použití Raspberry Pi Pico, na kterém běží firmware QMK s podporou grafické konfigurační aplikace VIA. Předobjednávky jsou otevřeny za ceny 80-105 CAD.

    Fluttershy, yay! | Komentářů: 0
    včera 15:22 | IT novinky

    Probíhá Meta Connect 2023. Společnost Meta představuje své novinky v oblasti AI a virtuální, smíšené a rozšířené reality. Představeny byly nové chytré brýle Ray-Ban | Meta a headset Meta Quest 3.

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

    Eben Upton oficiálně představil (YouTube) nové Raspberry Pi 5 (YouTube). Je více než 2x výkonnější než jeho předchůdce, model 4B.

    Ladislav Hagara | Komentářů: 8
    včera 08:00 | Nová verze

    Byl vydán (YouTube) Counter-Strike 2. Nativně také pro Linux. Jedná se o největší technologický skok v historii této populární herní série.

    Ladislav Hagara | Komentářů: 9
    včera 07:00 | Komunita

    Richard Stallman vystoupí v Praze s přednáškou Free Software And Your Freedom. V sobotu 30. září ve 14:30 na Pedagogické fakultě UK a v neděli 1. října v 18:00 hodin v rámci konference Hackers Congress Paralelní Polis.

    Jendа | Komentářů: 9
    27.9. 14:44 | Nová verze

    Byla vydána verze 6 s kódovým název Faye linuxové distribuce LMDE (Linux Mint Debian Edition). Podrobnosti v poznámkách k vydání. Linux Mint vychází z Ubuntu. LMDE je postaveno na Debianu.

    Ladislav Hagara | Komentářů: 2
    27.9. 13:11 | Bezpečnostní upozornění

    Byly publikovány informace o novém bezpečnostním problému pojmenovaném GPU.zip (paper, GitHub). S vlastním logem. Jedná se o možný útok postranním kanálem na grafickou kartu (GPU). Proces může "krást pixely" jinému procesu.

    Ladislav Hagara | Komentářů: 1
    27.9. 08:00 | Komunita

    Projekt GNU dnes slaví 40. výročí. Přesně před čtyřiceti lety, 27. září 1983, Richard Stallman oznámil, že se chystá napsat s Unixem kompatibilní operační systém GNU (Gnu's Not Unix). Hlavní oslava a setkání hackerů probíhá ve Švýcarsku ve městě Biel/Bienne. Na programu je také přednáška Richarda Stallmana.

    Ladislav Hagara | Komentářů: 11
    26.9. 15:55 | Nová verze

    Byl vydán Mozilla Firefox 118.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vypíchnout je nutno automatický lokální strojový překlad webových stránek. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 118 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 44
    Knihy s linuxovou tematikou
     (19%)
     (15%)
     (51%)
     (27%)
    Celkem 279 hlasů
     Komentářů: 11, poslední 17.9. 19:19
    Rozcestník

    Dotaz: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.

    18.2.2013 13:39 Vávra.V
    BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.
    Přečteno: 279×
    Dobrý den, poradíl by někdo jak můžu v bashi zjistit jestli proměnná obsahuje pouze jednu tečku? Děkuji za pomoc

    V.V.

    Odpovědi

    18.2.2013 14:12 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.

    Budeme-li předpokládat, že "pouze jednu" znamená "právě jednu", tak třeba

    if [ "${a//[!.]/}" = "." ]; then
        ...
    fi
    

    Pokud to má znamenat "nejvýše jednu", tak např.

    if [ "${a%.*}" = "${a%%.*}" ]; then
        ...
    fi
    
    18.2.2013 14:34 Vávra.V
    Rozbalit Rozbalit vše Re: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.

    Budeme-li předpokládat, že "pouze jednu" znamená "právě jednu", tak třeba

    Pokud to má znamenat "nejvýše jednu", tak např.

    UF, absolutně nevím co jste tím myslel, teď jste mě dostal :D :D :D

    Potřebuji podmínku, která zjistí jestlí nějaká proměnná obsahuje pouze jednu jedinou tečku ;)
    18.2.2013 14:38 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.
    "Právě jednu" znamená "počet teček je roven jedné". "Nejvýše jednu" znamená "počet teček je menší nebo roven jedné". Co z toho jste myslel výrazem "pouze jednu", nevím, tak jsem napsal řešení pro obě varianty.
    18.2.2013 14:39 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.
    "Pouze jednu" se nejvíc blíží "právě jednu", ale když to takto zdůrazníte tak to trochu evokuje i:
    [[ "$promenna" == "." ]] && echo "Proměnná promenná obsahuje pouze jednu jedinou tečku a njic víc?"
    :D
    18.2.2013 14:47 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.
    Mně to zase případalo jako "s jistotou vím, že tam aspoň jedna je, a chci ověřit, jestli jich není víc", pak by bylo jedno, která z variant zadání se vezme - tedy aspoň do chvíle, než by nějaký zákeřný uživatel vytvořil soubor bez tečky v názvu. :-)
    18.2.2013 15:06 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.
    Ano původní dotaz jsem také tak pochopil.
    18.2.2013 14:26 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.
    Např. pomocí regexp, ale pozor na verzi Bash, pod kterou chete aby to chodilo, pro ty novější verze:
    [[ $promenna =~  ^[^.]*\.[^.]*$  ]] && echo "Proměnná $promenna obsahuje právě jednu tečku."
    Pro starší verze či jiné shelly třeba:
    echo $promenna | grep -q "^[^.]*\.[^.]*$"
    [[ $? -eq 0 ]] && echo "Proměnná $promenna obsahuje právě jednu tečku."
    
    Nebo pokud vám stačí poznat, že proměnná obsohuje nejvýše jednu tečku (tedy jednu nebo žádnou) tak třeba takto:
    [[ ${promenna#*.} == ${promenna##*.} ]] && echo "Promenna $promenna není vícetečková."
    Asi by to šlo i nějak jednoduššeji.
    18.2.2013 14:28 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.
    Ano z Michalova přispěvku vidím, že to jde jednoduššeji negací [!.] :)
    18.2.2013 16:46 Vávra.V
    Rozbalit Rozbalit vše Re: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.
    Díky všem za pomoc, musím to pořádně nastudovat ;) Není nad praktické příklady :-(

    BTW: a kdybych potřeboval v budoucnu zjistit jestli proměnná neobsahuje žádnou tečku? Jak by to šlo jednoduše zjistit. Děkuji
    18.2.2013 17:52 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: BASH - Jak zjistit jestli obsahuje proměnná jen jednu tečku.
    [[ $a != *.* ]]
    If you hold a Unix shell up to your ear, you can you hear the C.

    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.