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 15:44 | Zajímavý software

    Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.

    Ladislav Hagara | Komentářů: 0
    dnes 05:11 | Zajímavý článek

    Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.

    karkar | Komentářů: 1
    včera 19:55 | Nová verze

    Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Bezpečnostní upozornění

    Specialisté společnosti ESET zaznamenali útočnou kampaň, která cílí na uživatele a uživatelky v Česku a na Slovensku. Útočníci po telefonu zmanipulují oběť ke stažení falešné aplikace údajně od České národní banky (ČNB) nebo Národní banky Slovenska (NBS), přiložení platební karty k telefonu a zadání PINu. Malware poté v reálném čase přenese data z karty útočníkovi, který je bezkontaktně zneužije u bankomatu nebo na platebním terminálu.

    Ladislav Hagara | Komentářů: 10
    včera 13:22 | Upozornění

    V Ubuntu 25.10 byl balíček základních nástrojů gnu-coreutils nahrazen balíčkem rust-coreutils se základními nástroji přepsanými do Rustu. Ukázalo se, že nový "date" znefunkčnil automatickou aktualizaci. Pro obnovu je nutno balíček rust-coreutils manuálně aktualizovat.

    Ladislav Hagara | Komentářů: 7
    včera 04:55 | Komunita

    VST 3 je nově pod licencí MIT. S verzí 3.8.0 proběhlo přelicencování zdrojových kódů z licencí "Proprietary Steinberg VST3 License" a "General Public License (GPL) Version 3". VST (Virtual Studio Technology, Wikipedie) je softwarové rozhraní pro komunikaci mezi hostitelským programem a zásuvnými moduly (pluginy), kde tyto moduly slouží ke generování a úpravě digitálního audio signálu.

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

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.10. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    23.10. 20:11 | Komunita

    V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).

    Ladislav Hagara | Komentářů: 0
    23.10. 13:22 | Nová verze

    Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.

    Ladislav Hagara | Komentářů: 0
    23.10. 12:55 | Pozvánky

    Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (20%)
     (20%)
     (24%)
     (18%)
     (21%)
     (18%)
     (18%)
    Celkem 268 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Dotaz: extrakce textu podle masky

    8.3.2005 19:04 Pepais | skóre: 1
    extrakce textu podle masky
    Přečteno: 304×
    Cau, potreboval bych pomoci programu SED nebo AWK extrahovat z textoveho proudu slova zadana pomoci urcite masky. napr.

    zadal bych masku ¨??x9??c¨

    pak bych aby me to na obrazovku vytisklo vsechna slova, ktera maji na treti pozici "x" na ctvrte "9" a na posledni pozici "c". jak na to?? dikec...

    Odpovědi

    8.3.2005 19:18 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    man cokoliv co pracuje s regulárními výrazy
    
    Místo otazníku použít tečku. A jestli to mají být skutečně slova, tak ten výraz dát do \<...\>
    8.3.2005 21:35 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    sed 's/\<\|\>/\n/g' | sed -n '/^..x9..c$/p'
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    31.7.2006 12:53 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    sed -n '/^..x9..c$/p' text.txt

    Tohle by se me libilo, ale kdyz je tech slov na radku vic, tak mi to nefunguje a nevypise to nic.

    treba kdyz je v text.txt

    12x45c # funguje 12x45c abcd # nefunguje

    Neexistuje neco jednoducheho co by zvladlo vic slov na radku ? (pokousim se o reg. vyrazy a hledam v diskuzich - proto ten starsi prispevek)

    Dekuji Kamil
    31.7.2006 12:55 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    sed -n '/^..x9..c$/p' text.txt

    Tohle by se me libilo, ale kdyz je tech slov na radku vic, tak mi to nefunguje a nevypise to nic.

    treba kdyz je v text.txt

    12x45c # funguje 12x45c abcd # nefunguje

    Neexistuje neco jednoducheho co by zvladlo vic slov na radku ? (pokousim se o reg. vyrazy a hledam v diskuzich - proto ten starsi prispevek)

    Dekuji Kamil
    31.7.2006 13:11 klobouk | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    musis to napsat cele tak jak ti poradil ;-) i s tim prvnim sedem a trubkou ;-)
    Buh stvoril Evu a rekl Adamovi: "Tady mas a vyber si!" ;-)
    31.7.2006 13:43 five | skóre: 6 | Bratislava
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    ak ma za tym nieco nasledovat, tak odstran poslednu kotvu $ (ta co znamena koniec riadku) tj /^.x9..c/,

    ak tam chces mat znak koniec slova, skus najst ( v perlovskych regularnych vyrazoch je to \b ) v simple regexp tusim \> ... neiste, skus: sed -n '/^..x9..c\>/p' text.txt
    31.7.2006 13:28 ams | skóre: 10
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Pokud pouziti SED nebo AWK neni podminkou, slo by pouzit
    grep -o '\<..x9..c\>'
    
    31.7.2006 13:39 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    grep -o '\<..x9..c\>'

    Tohle funguje, ale vypise to celou radku za tim slovem. Bohuzel prepinac -o me to nevzalo .. (grep: neznámý přepínač -- o)
    David Watzke avatar 1.8.2006 03:56 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Tohle funguje, ale vypise to celou radku za tim slovem.
    Přesně tomu zamezí přepínač -o. Co to máš za verzi grepu?
    $ grep --version
    grep (GNU grep) 2.5.1
    
    Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    1.8.2006 09:13 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Na stroji kde jsem to testoval je nejaka starsi verze RedHatu grep (GNU grep) 2.4

    Na jinem stroji s novym Debianem me to funguje grep (GNU grep) 2.5.1
    31.7.2006 13:54 klobouk | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    ono to vsechno zavisi na "typu" sedu a grep, ale tohle by mozna mohlo fungovat (teda mne to jede). To, ze to pokracuje na dalsim radku je DULEZITE ;-)
    cat test.txt | sed 's/\ /\
    /g' | sed -n '/^..x9..c$/p'
    Buh stvoril Evu a rekl Adamovi: "Tady mas a vyber si!" ;-)
    31.7.2006 14:14 klobouk | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    a kdyby to neslo, tak tahle variace stejneho postupu i s vyuzitim awk uz musi jit snad na tutti :-)

    awk '{ gsub(/\ /, "\n"); print }' | sed -n '/^..x9..c$/p'
    Buh stvoril Evu a rekl Adamovi: "Tady mas a vyber si!" ;-)
    31.7.2006 14:20 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    awk '{ gsub(/\ /, "\n"); print }' | sed -n '/^..x9..c$/p'

    Super, tohle bude ono. Diky vsem
    31.7.2006 15:02 Michal Karas | skóre: 45 | blog: /dev/random
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Mně se to teda zas tak nelíbí. Vždyť funkčně je to ekvivalentní s tím, co psal Hynek Vychodil, pouze tohle používá dva programy místo jednoho.
    31.7.2006 15:25 klobouk | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Ano, je to stejne a vysel jsem z toho, co napsal. Jedina vyhoda me upravy toho postupu je, ze to funguje. To co poradil Hynek Vychodil tazateli nefungovalo, ackoliv je to mnohem elegantnejsi reseni (a mne se libi vic). Proto jsem prvni sed nahradil awk, protoze obycejny sed s \n normalne pracovat neumi (pokud vim tak to umi asi GNU sed).

    Bmw. docela rad bych vedel jak to udelat jednodusseji, takze se tesim na dalsi lepsi reseni jinych lidi, protoze jsem problem s \n v "obyc" sedu resil uz mockrat a nevyresil. Srry, I did my best ;-) :-)
    Buh stvoril Evu a rekl Adamovi: "Tady mas a vyber si!" ;-)
    31.7.2006 18:03 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    No zda se, ze jsem to zase nevyresil

    Jde me vlastne od zacatku nahradu meho skriptu co jsem si udelal ve Win za pomoci wget + autoit + blat a ted bych to chtel predelat na linux.

    Tam jsem to mel udelane jednoduse ze script nasel retezec treba v index.html posunul se o x znaku doprava pak nacetl xy znaku do schranky a ulozil do souboru.

    To by bylo asi idealni i tady a nevim jesli to jde za pomoci reg. vyrazu udelat. Mozna na to jdu moc od lesa. A je neco jednodussiho.

    Kamil
    31.7.2006 18:09 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    tak dejte příklad, jak vypadá vstup a jak má vypadat výstup...
    31.7.2006 18:33 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Najdi ČEZ v html kodu

    ID_CENINA=11392 ČEZ td atd .. td class=815,16

    Ten html kod se me nepodarilo sem zapsat Pak vyber kurs tady 815,16 a treba vytiskni na obrazovku n. uloz do souboru. A to je vlastne vse Kamil
    31.7.2006 19:12 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Tady je to i s kodem http://tech.autohlavka.com/extrakce.html
    1.8.2006 02:06 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Ten html kod se me nepodarilo sem zapsat
    Nepodařilo se to kvůli zobáčkům?
    http://www.abclinuxu.cz/blog/johny/2006/8/1/142890
    1.8.2006 02:57 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Tento program
    #!/usr/bin/env python
    # -*- coding: iso-8859-2
    import re
    html = u'''
    ID_CENINA=11392'>ČEZ</a></td><td class="tr">815,16</td> ... -0,52
    '''
    id = u'ČEZ'
    regexp = re.compile(id + r'.*?(\d+(?:,\d+)?)')
    print regexp.search(html).groups()[0]
    
    Vypíše
    815,16
    1.8.2006 09:55 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Tohle funguje Jen se jeste snazim vyresit, aby to otevrelo soubor a obsah se predhodil tomu scriptu. S Pythonem se setkavam dnes poprve :-) neco jako ..

    #!/usr/bin/env python

    # -*- coding: iso-8859-2

    soubor = open('index.html','r')

    import re html = u'''soubor'''

    id = u'ČEZ' regexp = re.compile(id + r'.*?(\d+(?:,\d+)?)') print regexp.search(html).groups()[0]

    #Vypíše 815,16
    1.8.2006 10:20 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Zkusím hádat - ten index.html se předtím odněkud stáhl třeba wgetem a pak by se předal tomu skriptu. A co kdyby se to napsalo celé v pythonu včetně toho stahování? Třeba tohle
    #!/usr/bin/env python
    # -*- coding: iso-8859-2
    import re, urllib2
    id = 'ČEZ'
    regexp = re.compile(r'ID_CENINA=\d+.*' + id + r'.*?(\d+(?:,\d+)?)', re.DOTALL)
    url = 'http://tech.autohlavka.com/extrakce.html'
    html = urllib2.urlopen(url).read()
    print regexp.search(html).groups()[0]
    
    vypíše opět 815,16 ale tentokrát to stáhne html z tvé stránky.
    1.8.2006 10:27 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Ale kdybys to html chtěl opravdu číst ze souboru, tak stačí napsat
    html = file('index.html').read()
    
    1.8.2006 10:47 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    #!/usr/bin/env python

    # -*- coding: iso-8859-2

    import re

    html = file('index.html').read()

    id = u'ČEZ'

    regexp = re.compile(id + r'.*?(\d+(?:,\d+)?)')

    print regexp.search(html).groups()[0]

    Tohle me vraci .. Traceback (most recent call last): File "extr.pyth", line 7, in ? print regexp.search(html).groups()[0] AttributeError: 'NoneType' object has no attribute 'groups'
    1.8.2006 10:48 hm
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    proč to nepíšete v jazyce, který ovládáte?
    1.8.2006 10:50 kamil5 | skóre: 2
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Zda se ze to nefunguje, kdyz je to v php a html se musi vygenerovat http://tech.autohlavka.com/extrakce.html byl jen priklad
    1.8.2006 11:07 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: extrakce textu podle masky
    Bohužel jsem neměl k dispozici nic jiného než právě ten příklad, který jsi poslal. Na něm je to testováno.
    Tato diskuse už je ale moc košatá, takže jestli chceš nějaké řešení v Pythonu, ozvi se mi na mail (a kdyby z toho vzešlo něco přínosného, tak to sem napíšu). Jestli chceš raději zůstat u známějších nástrojů (jak psal hm), tak o tom už je zde IMHO informací dostatek.
    BTW, klientovi by mělo být úplně jedno, jestli je html statické nebo dynamické. A parsování HTML přes regulární výrazy je vždycky humus a spolehlivost je nepředvídatelná.

    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.