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 00:11 | Nová verze

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

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

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 26
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 398 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: práce se sedem

    8.3.2011 17:20 Tomasko | skóre: 4
    práce se sedem
    Přečteno: 177×
    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: 72 | 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.