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 16:44 | Komunita

    Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | IT novinky

    Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 14:11 | IT novinky

    Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Komunita

    PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.

    Ladislav Hagara | Komentářů: 17
    včera 20:22 | IT novinky

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 3.1 specifikace OpenCL (Open Computing Language). OpenCL je průmyslový standard pro paralelní programování heterogenních počítačových systémů.

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

    Homebridge pro integraci chytrých domácích zařízení byl vydán ve verzi 2.0.0. Nově vedle protokolu HomeKit Accessory Protocol (HAP) podporuje standard chytré domácnosti Matter.

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

    Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 3.7.0 - The Gaming Edition. Z novinek lze vypíchnout příkaz omarchy a celou řadu herních možností.

    Ladislav Hagara | Komentářů: 2
    včera 03:11 | Nová verze

    CyberChef byl vydán v nové major verzi 11. Přehled novinek v Changelogu. CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag).

    Ladislav Hagara | Komentářů: 0
    4.5. 20:11 | Nová verze

    Byla vydána nová verze 2.4.67 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 11 zranitelností.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (9%)
     (2%)
     (14%)
     (32%)
     (4%)
     (7%)
     (3%)
     (16%)
     (24%)
    Celkem 1513 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: 208×
    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.