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 04:44 | Nová verze

    Byla vydána beta verze Ubuntu 26.10 s kódovým názvem Stonking Stingray. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.10 mělo vyjít 15. října 2026.

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

    Byla vydána verze 1.99.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ářů: 5
    včera 18:11 | Komunita

    Od 13. do 15. října proběhne v Praze OpenSSL Conference 2026. Na YouTube lze zhlédnout videozáznamy přednášek z loňského roku.

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

    Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 2 GB varianty o 12,50 dolarů. Nově 2 GB Raspberry Pi 4 stojí 67,50 dolarů a 2 GB Raspberry Pi 5 stojí 77,50 dolarů.

    Ladislav Hagara | Komentářů: 5
    včera 13:00 | Nová verze

    OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 26.09. Vedle Flatpaku také s podporou Snapu.

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

    Edison Design Group po více než 30 letech zveřejnil zdrojový kód svého EDG C/C++ front-endu. Ten proslul širokou podporou standardů C++ a kompatibilitou s dialekty kompilátorů od Microsoftu, GNU, Clangu, Sunu a dokonce i s prehistorickým cfrontem. EDG byl použit například v kompilátoru Intel C++ Classic, kompilátoru NVCC od firmy NVIDIA pro platformu CUDA nebo v našeptávači kódu IntelliSense v produktech společnosti Microsoft. Projekt nyní spravuje organizace The C++ Alliance a kód je dostupný pod licencí Apache 2.0, doplněnou o výjimky projektu LLVM.

    AfD 💙 | Komentářů: 0
    včera 04:11 | Zajímavý projekt

    Pocket Tank je malé kapesní virtuální akvárium postavené na vývojové desce ESP32-S3-Touch-AMOLED-1.8. Na dvoujádrovém mikrokontroléru ESP32-S3 s 8 MB PSRAM a 16 MB flash paměti běží jak simulace akvária, tak i malý jazykový model určující chování rybiček. Lokální model o velikosti 7,56 MB se 14 miliony parametrů vznikl destilací modelu Gemma 4 26B, tedy učitele s 26 miliardami parametrů. Kromě firmwaru pro skutečný modul s AMOLED

    … více »
    AfD 💙 | Komentářů: 3
    včera 03:55 | Zajímavý software

    Open-source nástroj Jevstiller vytváří (destiluje) malý lokální model, který se průběžně učí z odpovědí komerční služby Jev. Běžné dotazy vyřizuje přímo na vlastním hardware, čímž může řádově zkrátit čas odezvy a snížit provozní náklady díky menšímu využívání zpoplatněného API. Nejisté požadavky Jevstiller posílá do Jevu, rovněž průběžně kontroluje náhodná dvě procenta dotazů Jevem. Pokud se lokální model začne s Jevem rozcházet,

    … více »
    AfD 💙 | Komentářů: 4
    30.9. 12:00 | Pozvánky

    Konference LinuxDays 2026 proběhne již tento víkend 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Konference LinuxDays 2026 znamená desítky přednášek a workshopů, zástup zajímavých osobností, místo pro setkání, spoustu nových nápadů a informací a stánky řady různých projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, MacGyver - bastlíři SH, OpenAlt a mnoho dalších. Vstup je volný.

    Ladislav Hagara | Komentářů: 6
    30.9. 04:33 | IT novinky

    Microsoft oznámil, že WSL kontejnery (WSLC) aneb linuxové kontejnery ve Windows Subsystem for Linux (WSL) jsou již obecně dostupné. Současně popsal jejich architekturu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2776 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: sed parse html tag

    TheTechnic avatar 6.4.2010 22:25 TheTechnic | skóre: 7
    sed parse html tag
    Přečteno: 719×

    Ahojte, viete mi poradit ako by sa dal vyparsovat vsetok text zo zdrojoveho kodu html stranky, povedzme ze chcem vsetko text medzi tag-mi <pre> a konciacim jeho tagom </pre>

    pricom tieto tagy sa niekolko krat opakuju a chcem vsetko text medzi nimi, vsetko ostatne nejako potrebujem dostat prec.

    Odpovědi

    Fuky avatar 6.4.2010 22:45 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: sed parse html tag
    $ cat index.html |sed -n 's/<pre>\(.*\)<\/pre>/\1/p'
    
    TheTechnic avatar 6.4.2010 23:09 TheTechnic | skóre: 7
    Rozbalit Rozbalit vše Re: sed parse html tag

    super! :) Len problem je v tom, ze mi to nezoberie do ohladu ked mam v zdrojovom kode blok s danym tagom, cize ak mi to nematchne na jedno riadku, tak to nevypise, neviem ako to osetrit? napr.

    <pre>aaaaa
    bbbbbbbbbbbb
    cccccccccccc
    dddddddddddd
    ############ </pre>

    Proste tagy byvaju rozne zalomene. Diky za echo :)

    6.4.2010 23:22 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: sed parse html tag
    Na něco takového není sed vhodný nástroj, i když by k tomu asi nějak znásilnit šel.
    TheTechnic avatar 6.4.2010 23:29 TheTechnic | skóre: 7
    Rozbalit Rozbalit vše Re: sed parse html tag
    vies teda odporucit iny nastroj, s awk by to neslo lahsie? sice vela sa spomina na internete perl, ale ten je pre mna spanielska dolina, zatial skusam pouzit ten sed.
    Fuky avatar 7.4.2010 00:13 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: sed parse html tag

    Jedno z možných řešení je modul lxml pro Python, HTML soubor pošli na vstup následujícímu skriptu:

    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import sys
    from lxml import etree
    
    parser = etree.HTMLParser()
    tree = etree.parse(sys.stdin, parser)
    expr = "//*[local-name() = $name]"
    pre_elts = tree.xpath(expr, name="pre")
    
    for pre_elt in pre_elts:
        print pre_elt.text
    

    Pokud používáš distribuci založenou na Debianu musíš mít nainstalovaný balíček python-lxml.

    Fuky avatar 7.4.2010 00:18 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: sed parse html tag
    7.4.2010 00:58 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: sed parse html tag
    Těžko říct, mně by přišlo nejjednodušší napsat si to v C.
    7.4.2010 11:11 imploder | skóre: 11
    Rozbalit Rozbalit vše Re: sed parse html tag
    Příloha:
    V perlu:
    my $text = join "", <STDIN>;
    my @vnitrky = $text =~ /<pre>(.*?)<\/pre>/sg;
    foreach (@vnitrky) { print $_; }
    
    7.4.2010 05:05 deadmail
    Rozbalit Rozbalit vše Re: sed parse html tag
    Napr. takto:
    sed 's_</pre>_&\n_' SUBOR | sed -nr -e \
    '/<pre>/{:a;s_</pre>_&_;tb;N;ba;:b;s_.*<pre>(.*)</pre>_\1_;p}'
    
    Najprv rozdelime, aby v kazdom riadku bol najviac jeden tag pre. A potom nacitame az po koncovy tag a zobrazime iba obsah ...
    7.4.2010 05:11 deadmail
    Rozbalit Rozbalit vše Re: sed parse html tag
    A mozno jednoduchsie:
    sed 's_</pre>_&\n_' SUBOR | sed -nr -e '/<pre>/,/<\/pre>/
    {
     /.*<pre>/s___
     /<\/pre>/s___
     p
    }'
    
    TheTechnic avatar 7.4.2010 10:01 TheTechnic | skóre: 7
    Rozbalit Rozbalit vše Re: sed parse html tag
    Wow skvele velmi si mi pomohol :) a diky za rady vsetkym ;) Sed powaaa! :D

    Este mi ostali v subore znaky ^M na konci riadkov, pre zmazanie bolo potrebne napr. vo vime pozuit prikaz :%s/\r$// a nasledne na subor pouzit prikaz, ktory maze prazdne riadky a to je pomocou sed '/^$/d'. A tada vsetko co bolo treba je na svete :)

    Este raz dakujem za rady.
    7.4.2010 11:16 deadmail
    Rozbalit Rozbalit vše Re: sed parse html tag
    takze vsetko spojene dokopy:
    sed 's_</pre>_&\n_;/^$/d;s/\r$//' SUBOR | sed -nr '\_<pre>_,\_</pre>_{s_.*<pre>|</pre>__g;p}'
    
    7.4.2010 05:13 deadmail
    Rozbalit Rozbalit vše Re: sed parse html tag
    A mozno jednoduchsie - opravene riadkovanie:
    sed 's_</pre>_&\n_' SUBOR | sed -nr -e '/<pre>/,/<\/pre>/{
     /.*<pre>/s___
     /<\/pre>/s___
     p
    }'
    
    7.4.2010 14:11 l4m4
    Rozbalit Rozbalit vše Re: sed parse html tag
    Nejjednodušší je toto:
    sed -n '/<pre>/,/<\/pre>/{s:.*<pre>::;s:</pre>.*::;p}'
    ale předpokládá se zde, že tag pre skutečně obsahuje nějaké bloky textu, takže se jich nevyskytuje více na jednom řádku.
    7.4.2010 14:45 deadmail
    Rozbalit Rozbalit vše Re: sed parse html tag
    toje presne moje riesenie, bez prvej casti a teda nefunguje ak ich viac na jednom iadku (co som tam pisal) - je to aj v tom doplneni vyssie skratene cez bodkociarky.
    7.4.2010 14:49 deadmail
    Rozbalit Rozbalit vše Re: sed parse html tag
    a este tam je skratene nahradzovanie - jedno namiesto dvoch

    Založit nové vlákno • Nahoru

    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.