abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:55 | Nová verze

    Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.

    Ladislav Hagara | Komentářů: 0
    dnes 05:33 | Nová verze

    OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Humor

    Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).

    Ladislav Hagara | Komentářů: 5
    včera 18:11 | Nová verze

    Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.

    Ladislav Hagara | Komentářů: 0
    včera 17:56 | Nová verze

    Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.

    Ladislav Hagara | Komentářů: 3
    včera 12:33 | Zajímavý software

    Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.

    Ladislav Hagara | Komentářů: 20
    29.4. 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 13
    29.4. 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 14
    29.4. 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (16%)
    Celkem 892 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: bash - vyhledání výrazu v řetězci

    29.10.2013 12:02 Gencast
    bash - vyhledání výrazu v řetězci
    Přečteno: 446×
    Ahoj, potřeboval bych poradit jak z řetězci vyhledat výraz např. seconds a přečíst hodnotu před tímto výrazem. Příkaz AWK , protože se řetězec může mít proměnlivou délku. Díky


    Řešení dotazu:


    Odpovědi

    29.10.2013 16:14 NN
    Rozbalit Rozbalit vše Re: bash - vyhledání výrazu v řetězci
    Sed, protoze I dont care:
    'This homework took 300 seconds, not less.' | sed 's/^\(.*\)\(seconds.*\)/\1/'
    29.10.2013 16:51 Chulda
    Rozbalit Rozbalit vše Re: bash - vyhledání výrazu v řetězci
    jenže pokud to řetězec neobsahuje, tak jej vypíše
    echo 'This homework took 300 secondxs, not less.' | sed 's/^\(.*\)\(seconds.*\)/\1/'
    This homework took 300 secondxs, not less.
    
    takže správně je to takto:
    echo 'This homework took 300 seconds, not less.' | sed -n 's/^\(.*\)\(seconds.*\)/\1/p'
    This homework took 300 
    echo 'This homework took 300 secondxs, not less.' | sed -n 's/^\(.*\)\(seconds.*\)/\1/p'
    
    29.10.2013 17:11 ss
    Rozbalit Rozbalit vše Re: bash - vyhledání výrazu v řetězci
    Este lepsie by malo byt

    echo -e 'Begin\nThis homework took 300 seconds, not less.\nEnd' | sed -n '/seconds/{s/^\(.*\)\(seconds.*\)/\1/p;q};p'
    29.10.2013 17:16 Kit
    Rozbalit Rozbalit vše Re: bash - vyhledání výrazu v řetězci
    Mně vychází spíš tato šílenost:
    sed -n 's/^.*[^0-9]\([0-9]\+\)\s*seconds.*$/\1/p'
    Předpokládám, že výsledkem má být jen to číslo.
    29.10.2013 20:17 gencas
    Rozbalit Rozbalit vše Re: bash - vyhledání výrazu v řetězci
    Ano, výsledkem mělo být jen číslo , které pak nacpu do někalé proměné.

    Díky za pomoc , skvěle to funguje !
    Řešení 1× (Ash)
    29.10.2013 16:35 jef
    Rozbalit Rozbalit vše Re: bash - vyhledání výrazu v řetězci
    treba takto:
    
    a="111 seconds"
    [[ "$a" =~ ([0-9]+)[[:blank:]]*seconds ]]
    echo ${BASH_REMATCH[1]}
    
    29.10.2013 20:18 gencas
    Rozbalit Rozbalit vše Re: bash - vyhledání výrazu v řetězci
    Díky za pomoc, toto taky skvěle funguje.
    29.10.2013 17:46 loki
    Rozbalit Rozbalit vše Re: bash - vyhledání výrazu v řetězci
    Osobne nejsem prilis velkym priznivcem sedu, ale naopak jsem priznivcem awk. Zde je jednoduchy skript, ktery snad dela to, co chcete:
    #!/bin/bash
    
    echo -ne "raz dva 30 seconds\ntri ctyri osm padesat\nx y z 54 seconds\n" | \
    awk '{for(i = 2; i <= NF; i++) if ($(i) == "seconds") print $(i-1);}'
    
    29.10.2013 20:20 gencas
    Rozbalit Rozbalit vše Re: bash - vyhledání výrazu v řetězci
    Díky , že to půjde udělat s AWK jsem ani netušil. Skvělé.

    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.