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ářů: 9
    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: regulární výraz v sedu

    Pavel Dobeš avatar 24.2.2005 23:28 Pavel Dobeš | skóre: 21 | Praha
    regulární výraz v sedu
    Přečteno: 196×
    Zdravím,

    potřeboval bych udělat takovou maličkost, kterou vím jak dělat, ale hledám elegantnější řešení...

    Mám soubor a v něm mě zajímá jedna řádka a na ní to co je v (prvních) uvozovkách...

    umím: cat ./soubor|grep identifikator|sed "s/prvni_odsekly\|druhy_odsekly//g"

    a vim, ze to jde i 'jen' pomoci sedu

    neco jako: sed -e "s/prvni_odsekly\|druhy_odsekly//g" -e "NECO" ./soubor

    Ale jak má vypadat to NECO?

    Jak mám zkonstruovat v sedu regularni vyraz, kde nastavím, že to neobsahuje skupinu písmen. Vim, že jde [^abc], ale já bych potřeboval znegovat právě 'abc' a ne všechny výskyty 'a', 'b' nebo 'c'.

    PaD
    Windows? A kdo to ještě používá?

    Odpovědi

    24.2.2005 23:42 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    Gratuluji, získal jsi cenu ;-)

    Jinak řešení je (nechápu odeskly prvni ani druhy, takže se držím zadání vypsat věc v prvních uvozovkách):
    sed '/identifikator/s/[^"]*"\([^"]*\)".*/\1/;t;d' soubor
    
    Pavel Dobeš avatar 25.2.2005 00:47 Pavel Dobeš | skóre: 21 | Praha
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    Diky ;)

    Ja nevim k cemu vlastne ten prikaz cat je... kdyz se nesmi pouzivat. Muzu vedet nejaky lepsi (kratsi), ktery vypise sobor na st. vystup a kazdemu je hned jasne, co dela? Popravde receno misto toho cat tam bude vystup z programu. Takze jsem moc nepremyslel, jak to napsat bez cat, kdyz ten cat vlastne v konecnem dusletku nepouziju. A kdyz neco zkousim, tak je mi prijemejsi na zacatek hodit cat a nedavat na konec prizkazu < ./soubor, protoze ho potom zbytecne preskakuju...

    Ja znam regex hlavne z php a to mnohdy jinde nefunguje ;( A tady by me to pouziti ;t;d nenapadlo (se sedem si ani moc nevykam, natoz tykat). A sed v praktickych prikladech... to jsem taky nikde moc nevidel...

    Jeste se zeptam... Jde udelat takove reseni i pomoci (g)awk? Ja vim, kdyz uz mam reseni pomoci sedu, proc chci zkouset i awk, ale neda mi to...

    A k tomu reg. vyrazu: me by zajimalo, jestli jde nejak formulovat ^[^abc]*\$ ale pro 'abc'? Protoze bez negace to je jednoduche... ^.*abc.*\$... ale jak udelat doplnkovy reg. vyraz, to netusim...

    Diky PaD
    Windows? A kdo to ještě používá?
    Pavel Dobeš avatar 25.2.2005 00:51 Pavel Dobeš | skóre: 21 | Praha
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    jj, s tim cat to je dobry... uz jsem se zacetl ;)
    Windows? A kdo to ještě používá?
    25.2.2005 00:55 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    Když to nikomu neřekneš, tak si můžeš grepovat a catovat jak chceš, věř mi ;-)
    Copak toho není dost?
    Pavel Dobeš avatar 25.2.2005 01:06 Pavel Dobeš | skóre: 21 | Praha
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    Ja vim, ze pustit sest ruznych programu v kolone je vlastne filosofie unixu (na vsechno mit jednoucelovou utilitu). Ale ono to zpomaluje. A on je i jeden grep navic poznat ;)

    PaD
    Windows? A kdo to ještě používá?
    25.2.2005 09:08 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    No jestli chceš v sedu něco dělat s řádky, které neobsahují na řádku nikde abc, tak se to dělá /abc/!<akce>. Uvnitř reguláru je to obtížnější a řeší se to vypsáním všech možností co tam mohou být, což je pěkná pruda. Vždy je lepší se zamyslet jestli je to skutečně nutné a jestli to náhodou nejde obejít. Jinak ve vimu, grepu a snad i další exituje něco jako negativní hledání.
    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é.
    25.2.2005 09:38 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    Příklad reguláru, který nikdy nenamatchuje abc je třeba \([^a]\|a[^b]\|ab[^c]\)
    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é.
    25.2.2005 10:47 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    Negativní matchování je feature PCRE, tudíž ho umí všechno, co umí PRCE, např. perl, grep, php. Kromě toho mají vim a python vlastní negativní matchování (s jinou syntaxí).
    25.2.2005 11:13 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    Tohle matchuje mj. všechno, co obsahuje znak různý od a, takže třeba abc ;-) U klasických nebo rozšířených regexpů bych to řešil hrubou silou -- nakreslit si konečný automat a z něj vytvořit ten regexp.
    26.2.2005 09:39 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    Prdlačky švagrová. Namatchuje bc, ale nikdy ne abc. Samozřejmě to musíš použít uvnitř nějakého reguláru, třeba chci najít = za nímž nenásleduje abc a nahradit ho středníkem, s/=\([^a]\|a[^b]\|ab[^c]\)/;\1/. Nebo chci nahradit = před nímž nesmí být abc /\([^c]\|[^b]c\|[^a]bc\)=/\1;/. Zkrátka použít něco se silnějším regexpem je IMHO lepší.
    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é.
    26.2.2005 12:54 twofish
    Rozbalit Rozbalit vše Re: regulární výraz v sedu
    třeba chci najít = za nímž nenásleduje abc a nahradit ho středníkem, s/=\([^a]\|a[^b]\|ab[^c]\)/;\1/
    I to je spatne, protoze to nenahradi = na konci vstupu (radky), ale to je detail. Pavel Dobes se totiz ptal na doplnek k ^.*abc.*$, napr jako soucast vyrazu matchujiciho rovnitko nasledovane posloupnosti znaku neobsahujici abc.
    ^=(|c|bc)([^a]|a[^b]|ab[^c])*$
    
    Pro jednoduchost to je v rozsirenych regularnich vyrazech a predpokladam jedno rovnitko ve vstupu (jinak se do [^ prida rovnitko, pripadne se ty znaky urci jeste restriktivneji /jenom pismena apod/). ^ a $ se nahradi za predchazejici / nasledujici regularni vyraz, pokud to ma byt soucasti nejakeho vetsiho regularniho vyrazu.

    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.