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 01:00 | Zajímavý projekt

Collapse OS vznikl jako svobodný operační systém pro počítače v případě „pomalého kolapsu civilizace“ sestavitelné a udržovatelné ze součástek rozšířených zařízení jako kalkulátory Texas Instruments, a to za účelem programování dalších jednočipů pro automatizaci. Autor po roce a půl projekt označil za hotový, ale plánuje pokračovat v jeho vylepšování. Ke stažení jsou zdrojové kódy (pod GNU GPLv3) a dokumentace.

Fluttershy, yay! | Komentářů: 0
včera 14:33 | Komunita

Nvidia podpoří projekt Common Voice částkou 1,5 milionu dolarů. Mozilla píše o demokratizaci a diverzifikaci hlasové technologie. Nvidia prostě použije otevřenou databázi hlasových záznamů k trénování svého systému Jarvis, viz úvodní přednáška CEO Nvidie Jensena Huanga na NVIDIA GTC 2021.

Ladislav Hagara | Komentářů: 0
včera 09:00 | IT novinky

Tento týden probíhá virtuální konference NVIDIA GTC 2021 (GPU Technology Conference). Doporučit ke zhlédnutí lze úvodní přednášku CEO Nvidie Jensena Huanga. Z kuchyně představil celou řadu novinek (NVIDIA Grace CPU, NVIDIA DRIVE Atlan, AI-Capable Supercomputer Alps, …). Dění na konferenci lze sledovat na Twitteru.

Ladislav Hagara | Komentářů: 3
včera 08:00 | Nová verze

Byla vydána verze 6.0 softwaru pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Mutara. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
včera 00:55 | Komunita

Vedení Nadace pro svobodný software (FSF) vydalo oficiální prohlášení k návratu Richarda Stallmana (RMS) do vedení FSF. Richard Stallman promluvil ke komunitě kolem svobodného softwaru.

Ladislav Hagara | Komentářů: 23
12.4. 20:33 | Pozvánky

Ve středu 14. dubna pořádá brněnský Red Hat tradiční akci Open House, letos opět ve virtuální podobě. Open House nabízí studentům, ale i zájemcům z široké veřejnosti příležitost poznat Red Hat, jeho kulturu a dozvědět se o stážích a pracovních příležitostech. Letošní program nabídne 3 souběžné streamy od více než 30 přednášejících. Jeden z nich bude věnován technickým přednáškám, kde se dozvíte o různých projektech a produktech, na kterých

… více »
Dorka | Komentářů: 0
12.4. 16:11 | IT novinky

Microsoft kupuje firmu Nuance Communications za 19,7 miliardy dolarů. Nuance Communications se věnuje rozpoznávání řeči pomocí umělé inteligence především ve zdravotnictví. Technologie od Nuance Communications je použita také ve virtuálním asistentovi Siri.

Ladislav Hagara | Komentářů: 12
12.4. 14:44 | Nová verze

Český překladatelský tým LibreOffice vydává příručku LibreOffice Writer verze 6.4. Kniha představuje některé hlavní funkce aplikace LibreOffice Writer:… více »

Zdeněk Crhonek | Komentářů: 0
12.4. 13:33 | Nová verze

Příspěvek na blogu webové aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) představuje novinky nové verze 1.14.0 této v programovacím jazyce Go naprogramované aplikace.

Ladislav Hagara | Komentářů: 0
12.4. 09:00 | Nová verze

V březnu 2016 byl 2D animační software Toonz uvolněn jako open source pod názvem OpenToonz. O víkendu byl OpenToonz vydán ve verzi 1.5.0. Přehled novinek v poznámkách k vydání na GitHubu. Novou verzi bude možné nainstalovat také z Flathubu a Snapcraftu.

Ladislav Hagara | Komentářů: 0
Kolik času v průměru denně trávíte videohovory/-konferencemi? (ať už v práci, škole nebo soukromě)
 (52%)
 (13%)
 (15%)
 (10%)
 (7%)
 (1%)
 (1%)
Celkem 293 hlasů
 Komentářů: 7, poslední 8.4. 12:14
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: 146×
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.