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 00:11 | Nová verze

Byla vydána nová major verze 6.0 multiplatformního virtualizačního nástroje Oracle VM VirtualBox. Přehled novinek v Changelogu. Nově lze například virtuální počítač exportovat do infrastruktury Oracle Cloud.

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

Společnost Wave Computing představila iniciativu MIPS Open. Architektura MIPS bude k dispozici jako open source.

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

Pro vývojáře v programovacím jazyce Python: Krátce po vydání multiplatformního frameworku Qt ve verzi 5.12 bylo vydáno také Qt for Python 5.12. Knihovna pro vědecké výpočty v Pythonu SciPy (Wikipedie) byla po šesti měsících vývoje vydána v nové verzi 1.2.0.

Ladislav Hagara | Komentářů: 0
17.12. 22:33 | Zajímavý projekt

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Hacking for the Holidays by No Starch Press. Za 1 dolar a více lze koupit 5 elektronických knih, za 8 dolarů a více lze koupit 10 elektronických knih a za 15 dolarů a více lze koupit 15 elektronických knih věnovaných počítačové bezpečnosti, penetračnímu testování, forenzní analýze nebo kryptografii od nakladatelství No Starch Press. Nákupem lze podpořit organizaci Electronic Frontier Foundation (EFF).

Ladislav Hagara | Komentářů: 0
17.12. 20:11 | Nová verze

Po devíti měsících od vydání verze 5.4 byla vydána verze 5.5 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Nová verze RawTherapee je k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 0
17.12. 15:44 | Upozornění

Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal varování (pdf) před používáním softwaru i hardwaru společností Huawei Technologies Co., Ltd., a ZTE Corporation. Používání těchto prostředků představuje bezpečnostní hrozbu.

Ladislav Hagara | Komentářů: 51
17.12. 13:33 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 159. brněnský sraz, který proběhne v pátek 21. prosince od 18:00 v restauraci Na blbým místě na adrese Pellicova 5b.

Ladislav Hagara | Komentářů: 1
17.12. 12:55 | Bezpečnostní upozornění

V relačním databázovém systému SQLite (Wikipedie) byla nalezena bezpečnostní chyba pojmenovaná Magellan. Chyba se týká také webových prohlížečů postavených na Chromiu podporujících WebSQL API (POC). Bezpečnostní chyba byla opravena v SQLite 3.26.0 a v Chromiu 71.0.3578.80.

Ladislav Hagara | Komentářů: 1
17.12. 12:11 | Nová verze

WinBtrfs, open source systémový ovladač pro systémy Microsoft Windows umožňující přístup k linuxovému souborovému systému Btrfs, byl vydán ve verzi 1.1. Přináší podporu komprese zstd (Zstandard). WinBtrfs je používán například v operačním systému ReactOS.

Ladislav Hagara | Komentářů: 0
16.12. 12:44 | Komunita

Nadace Cloud Native Computing Foundation (CNCF), jejíž cílem je usnadnit spolupráci při vývoji a zavádění nových cloudových technologií, projekt konsorcia Linux Foundation, organizovala od 10. do 13. prosince v Seattlu konferenci KubeCon + CloudNativeCon North America 2018. Shrnutí dění na konferenci v příspěvku na blogu. V úvodu konference společnost Red Hat věnovala této nadaci distribuovanou key-value databázi etcd. Jedná se o

… více »
Ladislav Hagara | Komentářů: 0
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (9%)
 (11%)
 (31%)
 (25%)
Celkem 150 hlasů
 Komentářů: 19, poslední 14.12. 18:37
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: 140×
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.