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:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    dnes 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 0
    dnes 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

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

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 2
    dnes 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    včera 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

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

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    18.6. 13:33 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    18.6. 12:44 | IT novinky

    V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem

    … více »
    Ladislav Hagara | Komentářů: 0
    18.6. 11:44 | Komunita

    V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.

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


    Dotaz: práce se sedem

    8.3.2011 17:20 Tomasko | skóre: 4
    práce se sedem
    Přečteno: 212×
    Dobrý den. Prosím, začínám se sedem. Mám nějaký textový soubor a zkouším si z něj vygenerovat html soubor s tím, že si označuji jednotlivé úseky barevně. Číslo např. 123456, aby se mi označilo modře už jsem zvádnul pomocí: s/([0-9]+)/...(nechtelo mi to tu napsat span) Nebo znak < jsem si do html nahradil, to jsem našel na netu. Jak ale odliším číslo 123456 např. od čísla desetinného? 12234566 vs 0.0987 ?

    Řešení dotazu:


    Odpovědi

    Řešení 1× (buff)
    Tarmaq avatar 8.3.2011 17:37 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: práce se sedem
    Neco takoveho?
    $ cat foo
    12234566
    0.0987
    
    $ sed -r 's#^[[:digit:]]+$#<span class="int">\0</span>#' foo               
    <span class="int">12234566</span>
    0.0987
    
    $ sed -r 's#^[[:digit:]]*\.[[:digit:]]+$#<span class="real">\0</span>#' foo
    12234566
    <span class="real">0.0987</span>
    
    Don't panic!
    8.3.2011 17:41 Tomasko | skóre: 4
    Rozbalit Rozbalit vše Re: práce se sedem
    napíšeš mi k tomu nějakou omáčku? rozumím jenom tomu span digit -r
    Tarmaq avatar 8.3.2011 17:54 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: práce se sedem
    ok, takze pouzil jsem sedovsky prikaz substitute (s), ktery se zapisuje v tomto formatu
    s/regexp/replacement/
    misto lomitek jako oddelovace jsem pouzil #, protoze se mi to hodi abych nemusel "escapovat" lomitko v "replacementu".
    jako matchujici regexp jsem pouzil tedy v prvnim pripade ^[[:digit:]]+$, coz znamena ze to matchne ty radky, ktere od zacatku az do konce obsahuji 1-n znaku tridy [:digit:].

    Polopate: ^ znamena zacatek radky, $ z namena konec radky, + je kvantifikator znamenajici ze predesly atom ([[:digit:]]) se tam muze vyskytovat 1-n krat

    Replacement prvniho pripadu je
    <span class="int">\0/span>
    , tedy nahradi to presne timto, s tim ze misto \0 bude pouzit cely matchnuty radek. V druhem pripade je to velmi podobne, az na to ze regexp je trochu slozitejsi:
    ^[[:digit:]]*\.[[:digit:]]+$

    znamena ze od zacatku radky se tam muze vyskytovat 0-n (kvatifikator *) znaku tridy [:digit:] nasledujicich teckou a nasledujicich 1-n znaku tridy [:digit:]. Tecku jsem escapoval zpetnym lomitkem, jelikoz bez toho funguje jako atom pro jakykoliv znak
    Don't panic!
    8.3.2011 19:00 l4m4
    Rozbalit Rozbalit vše Re: práce se sedem
    Toto je určitě zajímavá úloha na to naučit se používat sed, ale z praktického hlediska je to šílené řešení.

    Běžně se toto řeší nástroji jako highlight, source-highlight nebo i vim, které umožňují definovat syntaxi pomocí strukturovaných pravidel a vygenerovat na jejím základě zvýrazněný soubor.
    8.3.2011 19:49 Tomasko | skóre: 4
    Rozbalit Rozbalit vše Re: práce se sedem
    já se to pokouším napsat nějak takto s/([0-9]+[^\.])/ < span... ale tohle mi sežere jen "0." a za tečkou už mi to zbývající čísla zvýrazní. Chci napsat, aby mi to vzalo jen číslo bez tečky tzn 321 třeba.
    8.3.2011 20:16 l4m4
    Rozbalit Rozbalit vše Re: práce se sedem
    Jak toto souvisí s mým návrhem použít k řešení problému raději nástroje, jež jsou k tomu určeny?

    Jinak toto obecně vyžaduje podporu assertions v regulárních výrazech (konkrétně negative look-behind), jaká je třeba v Perlu nebo Pythonu, která umožňuje vyjádřit, že musí/nesmí něco předcházet. V sedu není.

    Když si ale za žádnou cenu nedáš poradit a chceš to dělat v sedu, tak další možnost je vícekrokové zpracování, kdy se označkuje číslo v nejobecnějším možném tvaru
    #123.456#
    #321#
    ...
    
    čímž se čísla jednoznačně vymezí (jsou jasné začátky a konce), a pak se jednotlivé případy převedou různými regulárními výrazy, které budou matchovat i ty značky
    s/#([0-9]*.[0-9]+)#/.../g
    s/#([0-9]+)#/.../g
    ...
    
    Třetí možnost je napsat regulární výrazy, které zpracovávají i okolní znaky, a případně je nezmeněné vracejí do streamu:
    s/(^|[^.0-9])([0-9]+)([^.0-9]|$)/\1<<\2>>\3/g
    
    což je ale opět rychle komplikuje.
    8.3.2011 20:38 Tomasko | skóre: 4
    Rozbalit Rozbalit vše Re: práce se sedem
    promiň spletl jsem si odpověď :-(

    jinak už jsem na to přišel :

    s/([0-9]*[\.][0-9]*)/ < span...

    btw, proč mi to nechce vypsat span? či jak ho tu mám dát, v code ani v citaci mě to nepustí
    10.3.2011 17:37 Tomasko | skóre: 4
    Rozbalit Rozbalit vše Re: práce se sedem
    ještě se chci zeptat: mám řetězec např "(child" a pak žetězec "(ARCH" a když napíši: s#([(])([A-Z]+)#span...

    Tak mi to označí i "child". Jak je to možné, když mám definované pouze velká písmena? Řetězec "(ARCH" se samozřejmě označí správně.
    10.3.2011 17:50 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: práce se sedem
    Interpretace rozsahů vždycky závisí na použítém locale a občas se mohou chovat dost nepředvídatelně. Jistější je používat [[:lower:]], [[:upper:]] a [[:alpha:]], případně v kombinaci s LC_CTYPE=C.
    10.3.2011 20:23 Tomasko | skóre: 4
    Rozbalit Rozbalit vše Re: práce se sedem
    moc Vám děkuji. Začalo mě to docela bavit a sedím u toho celé dny :-) S [[:...:]] to funguje :-)

    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.