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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 1
včera 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 26
včera 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 7
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 14
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

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

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 15
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 5
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 1
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 774 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Parsovani (Bash)

31.5.2011 09:48 JK
Parsovani (Bash)
Přečteno: 601×
Příloha:
Dobry den,

Mam v pc odkaz www stranky( viz. priloha ), ktera se aktualizuje kazdou hodinu. Je to odkaz na predpoved pocasi a potreboval bych z toho jenom vyriznout. DEN A TEPLOTU. Ze zdrojoveho kodu.

Dekuju moc

Odpovědi

31.5.2011 12:49 ph0enix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: Parsovani (Bash)
Z jakeho duvodu to ma byt v shellu? Bude to priserve pomale a spatne se s tim bude pracovat. Radeji bych volil nejaky vyssi jazyk - Perl, Python, ...
31.5.2011 13:03 Fešák Hubert
Rozbalit Rozbalit vše Re: Parsovani (Bash)
Jinak to cvicici neuzna:)
31.5.2011 14:29 ph0enix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: Parsovani (Bash)
Takze domaci ukol :-) Muzes ukazat co mas hotove na cem se da stavet, nebo kde je problem?
31.5.2011 18:47 ph0enix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: Parsovani (Bash)
man wget man bash man sed
INFILE="http://adresa/dokument.html"

wget -O - $INFILE | (
    # nejake promenne jenz mozna budeme potrebovat
    PROMENNA=
    ...
    
    while read LINE; do
        # budeme hledat pozadovana data a na zaklade jejich vyskytu neco podnikneme
        echo $LINE | grep -q 'co hledame'
        if [ $? -eq 0 ]; then
            # nalezeno - neco udelame
            ...
        else
            # nenalezeno - delej neco jineho
            ...
        fi
        ...
        
        # popripade si i neco updavime a zapamatujeme
        PROMENNA=`echo $LINE | sed -e 's/vzor/substituce/'`
        ...
        
        # a mozna i neco vypiseme
        printf "vystup"
    done
    )
1.6.2011 18:45 ph0enix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: Parsovani (Bash)
Nez shell, to uz bych to radeji napsal v awk. Ikdyz nejelegantnejsi je, diky velmi dobre podpore regularnich vyrazu, reseni v PERLu prezentavane jiz v reakcich na tvuj predchozi dotaz.

Tady mas bastl v shellu. Diky zpracovani po radcich to bude neskutecne poommmaaaallllleeeeee. Dej si alepon praci s tim pochopit co ktera cast dela nez to budes chtit prezentovat jako svuj vytvor :-(
#!/usr/bin/bash
#

INFILE="http://www.abclinuxu.cz/data/prilohy/9/9/175399-pocasi-1837466145685031135.html"

wget -O - $INFILE | (
    INDAY=0

    while read LINE; do
        if [ $INDAY -eq 1 ]; then
            if [ $PART -eq 0 ]; then
                echo $LINE | grep -q 'div class="cLeft"'
                if [ $? -eq 0 ]; then
                    PART=1
                else
                    DAY=`echo $LINE | sed -e 's/.*<h4>\(.*\)<\/h4>.*/\1/'`
                fi
            else
                if [ $PART -eq 1 ]; then
                    echo $LINE | grep -q 'div class="cRight"'
                    if [ $? -eq 0 ]; then
                        PART=2
                    else
                        echo $LINE | grep -q ' title="'
                        if [ $? -eq 0 ]; then
                            DOP_TYP=`echo $LINE | sed -e 's/.* title="\(.*\)" .*/\1/'`
                        else
                            echo $LINE | grep -q '<p>.*<\/p>'
                            if [ $? -eq 0 ]; then
                                DOP_TEMP=`echo $LINE | sed -e 's/.*<p>\(.*\)<\/p>.*/\1/'`
                            else
                                echo $LINE | grep -q '>.*<\/a><'
                                if [ $? -eq 0 ]; then
                                    DOP_LABEL=`echo $LINE | sed -e 's/.*>\(.*\)<\/a><br.*/\1/'`
                                fi
                            fi
                        fi
                    fi
                else
                    echo $LINE | grep -q '<\/div>'
                    if [ $? -eq 0 ]; then
                        printf "[$DAY]\n"
                        printf "\t$DOP_LABEL - $DOP_TYP - $DOP_TEMP\n"
                        printf "\t$ODP_LABEL - $ODP_TYP - $ODP_TEMP\n"
                        INDAY=0
                        PART=0
                        DAY=
                        DOP_LABEL=
                        DOP_TYP=
                        DOP_TEMP=
                        ODP_LABEL=
                        ODP_TYP=
                        ODP_TEMP=
                    else
                        echo $LINE | grep -q ' title="'
                        if [ $? -eq 0 ]; then
                            ODP_TYP=`echo $LINE | sed -e 's/.* title="\(.*\)" .*/\1/'`
                        else
                            echo $LINE | grep -q '<p>.*<\/p>'
                            if [ $? -eq 0 ]; then
                                ODP_TEMP=`echo $LINE | sed -e 's/.*<p>\(.*\)<\/p>.*/\1/'`
                            else
                                echo $LINE | grep -q '>.*<\/a><'
                                if [ $? -eq 0 ]; then
                                    ODP_LABEL=`echo $LINE | sed -e 's/.*>\(.*\)<\/a><br.*/\1/'`
                                fi
                            fi
                        fi
                    fi
                fi
            fi
        else
            echo $LINE | grep -q 'div class="cDay"'
            if [ $? = 0 ]; then
                INDAY=1
                PART=0
                DAY=
                DOP_LABEL=
                DOP_TYP=
                DOP_TEMP=
                ODP_LABEL=
                ODP_TYP=
                ODP_TEMP=
            fi
        fi
    done
    )
31.5.2011 14:01 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Parsovani (Bash)
Vy jste to za ten týden ještě nevyřešil? V tom případě ukažte kam jste dospěl (zdrojový kód) a nějak to už doladíme. Předpokládám že alespoň pár řádek jste napsal... Víte už jakým nástrojem to budete dělat? V Bash budete potřebovat něco na stažení, asi wget, potom něco na parsování, třeba sed nebo awk.

Znáte některý z těchto nástrojů? Víte jak se v bash předávají data mezi jednotlivými nástroji? Pro jednoduchost vám doporučuji stáhnout stránku wgetem, a následně parsovat stažený soubor. Až nebudete vědět jak dál, podělte se o váš výsledek.
31.5.2011 14:32 NN
Rozbalit Rozbalit vše Re: Parsovani (Bash)
Vy jste to za ten týden ještě nevyřešil?
lol
1.6.2011 09:49 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: Parsovani (Bash)
No, chalan ten isty dotaz uz zadaval 25.5. :-) ==>

http://www.abclinuxu.cz/poradna/linux/show/336314

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.