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 17:33 | Nová verze

Po 5 měsících vývoje od vydání verze 0.12.0 byla vydána verze 0.13.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 83 vývojářů. Přibylo 840 nových balíčků. Jejich aktuální počet je 5 454. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 0
dnes 17:22 | Nová verze

Po 5 měsících vývoje a 3 týdnech intenzivního testování byla vydána verze 12 open source systému Nextcloud, forku ownCloudu, umožňujícího provoz vlastního cloudového úložiště. Přehled novinek i s videoukázkami v poznámkách k vydání. Pro vyzkoušení je k dispozici demo.

Ladislav Hagara | Komentářů: 1
dnes 11:44 | Zajímavý článek

Týden po prvním číslu publikoval Michal Špaček na svých stránkách druhé číslo newsletteru věnovanému bezpečnosti, bezpečnému vývoji převážně webových aplikací a bezpečnosti uživatelů. Věnuje se výpadku Let's Encrypt, únikům dat, bug bounty pro WordPress nebo SQL Injection v Joomla. Zmiňuje také, že Mozilla plánuje z Firefoxu odstranit podporu pro Encrypted Media Extensions (EME) na nešifrovaném HTTP a nadále pro EME vyžadovat HTTPS.

Ladislav Hagara | Komentářů: 0
dnes 02:00 | Pozvánky

Ve středu 31. května 2017 od 17:00 proběhne v pražské pobočce SUSE Den otevřených dveří v SUSE. Čekají vás přednášky o live kernel patchingu a nástroji SaltStack. Také se dozvíte zajímavé informace o SUSE, openSUSE, a vlastně všech produktech, na kterých lidé ze SUSE pracují.

Ladislav Hagara | Komentářů: 3
dnes 01:00 | Pozvánky

Czech JBoss User Group srdečně zve na setkání JBUG v Brně, které se koná ve středu 7. června 2017 v prostorách Fakulty informatiky Masarykovy univerzity v místnosti A318 od 18:00. Přednáší Tomáš Livora na téma Fault Tolerance with Hystrix. Více informací na Facebooku a Twitteru #jbugcz.

mjedlick | Komentářů: 0
19.5. 23:22 | Zajímavý projekt

Na Texture Ninja je volně k dispozici více než 4 tisíce textur. Autora lze podpořit na Patreonu.

Ladislav Hagara | Komentářů: 0
19.5. 10:22 | Pozvánky

Mozilla.cz zve na MozBeer Prague #2. Druhé setkání Mozilla.cz proběhne 26. května od 18:00 v Praze v Diversion Bistru v ulici Mělnická.

Ladislav Hagara | Komentářů: 0
18.5. 23:22 | Bezpečnostní upozornění

Průvodce restauracemi Zomato, jenž v roce 2014 koupil Lunchtime.cz, potvrdil bezpečnostní problém. Odcizeno bylo 17 miliónů záznamů o uživatelích (jména, emailové adresy, osolené hashe).

Ladislav Hagara | Komentářů: 8
18.5. 19:00 | Komunita

V listopadu loňského roku proběhla v Brně v kině Scala Noc otevřeného softwaru v umění. Po promítaném filmu byl dnes na YouTube zveřejněn také záznam úvodní přednášky Davida Revoye, autora open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu. Záznam přednášky je opatřen českými titulky.

Ladislav Hagara | Komentářů: 0
18.5. 03:55 | Zajímavý software

MojeFedora.cz představuje (en, YouTube) rozšíření pro GNOME Shell s názvem Focusli, které pouští různé monotónní zvuky. Ty pomáhají některým lidem s koncentrací nebo relaxací a můžou tak být zajímavou alternativou k puštěné hudbě.

Ladislav Hagara | Komentářů: 7
Chystáte se pořídit CPU AMD Ryzen?
 (6%)
 (32%)
 (1%)
 (8%)
 (44%)
 (9%)
Celkem 585 hlasů
 Komentářů: 62, poslední 19.5. 01:57
    Rozcestník

    Dotaz: awk jednoduchá string operace

    16.10.2011 10:35 jarekkkk
    awk jednoduchá string operace
    Přečteno: 248×
    Dobrý den, potřebuji ve své aplikaci uživateli zobrazovat číslo verze gcc a nevím jak mám vyselektovat to číslo z výpísu version:
    gcc --version
    
    gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
    Copyright (C) 2010 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    S awk neumím, děkuji za ochotu...

    Řešení dotazu:


    Odpovědi

    pepe_ avatar 16.10.2011 11:09 pepe_ | skóre: 47
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace

    Střílím od boku

    #!/bin/bash
    verze_gcc=$(`which gcc` --version | grep 'gcc' | awk '{printf $4 };')
    if [ -n verze_gcc ];then
    echo "Verze GCC je $verze_gcc"
    else
    echo "GCC není nainstalováno"
    fi

    pepe_ avatar 16.10.2011 11:12 pepe_ | skóre: 47
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace

    oprava uvozovek

     

    #!/bin/bash
    verze_gcc=$(`which gcc` --version | grep 'gcc' | awk '{printf $4 };')
    if [ -n "$verze_gcc" ];then
    echo "Verze GCC je $verze_gcc"
    else
    echo "GCC není nainstalováno"
    fi

    16.10.2011 11:21 l4m4
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    Co má vylepšit

    `which gcc`

    oproti

    gcc

    ? Nepočítaje to, že při neexistujícím gcc první chybovou hlášku vyhodí už to which a následně se to pokusí spustit program jménem --version, což lze za zlepšení považovat jen stěží.

    Jaký je význam spoustění awk na výstpu grepu?

    Navíc to IMO vůbec neřeší problém, tedy co za roztodivné věci se mohou objevit v té závorce.
    pepe_ avatar 16.10.2011 11:26 pepe_ | skóre: 47
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace

    přidá tam i cestu k gcc

     

    pepe@PC-Pepe:~$ which gcc
    /usr/bin/gcc

    pepe_ avatar 16.10.2011 11:28 pepe_ | skóre: 47
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace

    pepe@PC-Pepe:~$ verze_gcc=$(`which lolo` --version | grep 'gcc' | awk '{printf $4 };')
    --version: command not found
    pepe@PC-Pepe:~$ echo $verze_gcc

    pepe@PC-Pepe:~$

     

    takze ikdyz gcc neni tak hlasku to vyplni ale script pozna ze gcc neni protoze promena verze_gcc nebude obsahovat nic

    pepe_ avatar 16.10.2011 11:31 pepe_ | skóre: 47
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace

    pokud chces zamezit i vypsani chyby tak is posli do NULL

     

     

    verze_gcc=$(`which gcc` --version 2> /dev/null | grep 'gcc' | awk '{printf $4 };')

    16.10.2011 11:39 l4m4
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    A to je konkrétně k čemu? Celé to funguje stejně (ne-li lépe) i bez which.
    16.10.2011 11:36 oiufoj
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    gcc --version | awk '{if( /^gcc/ ) print $NF; }'

    (pricems predpokladame, ze cislo verze je posledni pole na radku zacinajicim gcc).
    16.10.2011 11:47 l4m4
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    Jenže to není ani náhodou.

    GCC vypisuje jako verzi dost divoké věci. Např. na běžných linuxových distribucích to může vypadat:
    gcc (Debian 4.3.2-1.1) 4.3.2
    gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)
    gcc (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292]
    gcc (SUSE Linux) 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036]
    gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
    etc.
    
    16.10.2011 11:37 l4m4
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    (a) Tvoje aplikace je v awk. V tom případě bych předpokládal, že umíš v awk použít regulární výraz a verzi z toho vyknousnout.

    (b) Tvoje aplikace není v awk. V tom případě nerozumím požadavku na použití awk. Nemůže postě aplikace přečíst výstup gcc --version a vzít z něj verzi?

    Nicméně abych jen nekafral, fungovat by mohlo toto:
    awk '(NR==1){print gensub(/^gcc (\([^)]*\) *)?([0-9]+\.[^ ]+) .*/,"\\2","g")}'
    
    Vypíše se čistě verze, bez závorek před, po, dat a kdovíčeho. Pokud závorek před může být víc (neviděl jsem), tak by se ? musel nahradit *.
    16.10.2011 11:55 l4m4
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    No, takže na Ubuntu není dost obecné ani tohle. Toto už by snad mohlo:
    awk '{gsub(/\([^)]*\)/,"");gsub(/\[[^]]*\]/,"");print gensub(/.* ([0-9]+\.[^ ]+).*/,"\\1","g")}'
    
    16.10.2011 12:09 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    S awk neumím ... tak použijte sed :-)
    gcc --version | sed -n -e 's/^gcc ([^)]*) \([1-9.]*\)$/\1/p'
    nebo kratší méně přesné:
    gcc --version | sed -ne 's/^gcc.* \([1-9.]*\)$/\1/p'
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    16.10.2011 12:26 l4m4
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    Funguje pouze na jediném z uvedených pěti příkladů výstupu gcc --version...
    16.10.2011 12:40 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    Taky jsem to dělal jen na uvedený výstup :-)
    gcc --version | sed -ne 's/^gcc.*\s\([0-9]\.[0-9].[0-9]\)\($\|\s.*$\)/\1/p'
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    16.10.2011 12:48 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    Drobná oprava: gcc --version | sed -ne 's/^gcc.*\s\([0-9]\.[0-9]\.[0-9]\)\($\|\s.*$\)/\1/p'
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    16.10.2011 13:30 benn | skóre: 18
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    A zjištění verze gcc pomocí dumpversion se ti nehodí?
    gcc -dumpversion
    
    Jinak v aplikaci je přístupné makro __VERSION__ od kompilátoru
    printf(__VERSION__);
    
    16.10.2011 14:55 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    Ad. -dumpversion
    Tý jo, 300 let to používám a ani mě nenapadne, že by tam takového něco mělo být. :-(
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    16.10.2011 15:10 l4m4
    Rozbalit Rozbalit vše Re: awk jednoduchá string operace
    No vida.

    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.