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 18:11 | Zajímavý software

    Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.

    Ladislav Hagara | Komentářů: 0
    dnes 16:55 | Nová verze

    Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 2
    dnes 15:44 | Zajímavý software

    Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční

    … více »
    2012 | Komentářů: 0
    dnes 12:55 | Zajímavý software

    Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:11 | Nová verze

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Komunita

    Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.

    Ladislav Hagara | Komentářů: 8
    včera 11:00 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

    Ladislav Hagara | Komentářů: 2
    včera 10:22 | Zajímavý software

    Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.

    Ladislav Hagara | Komentářů: 6
    včera 03:33 | Zajímavý software Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (10%)
     (21%)
     (3%)
     (5%)
     (2%)
     (11%)
     (35%)
    Celkem 582 hlasů
     Komentářů: 17, poslední včera 15:24
    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: 494×
    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.