CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.
Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …
Jde jen o příklad, ale potreboval bych z tohodle:
ABC M N NM A AB AC BC BA CA CB MN ABC M BC BA CA CB N NM A AB MN
dostat toto: ABC_MN ABC_MN
Došel jsem k tomuto:
echo ABC M N NM A AB AC BC BA CA CB MN ABC M BC BA CA CB N NM A AB MN | \
sed 's/ABC\([^M][^N]\)\+MN/ABC_MN/g'
ale nefunguje to...
ABC…MN, mezi kterými je alespoň jedna dvojice písmen, přičemž v té dvojici vždy první písmeno nesmí být M a druhé N. Takže třeba pokud bude mezi ABC a MN lichý počet znaků, nebude vám to fungovat. Zkuste místo toho \([^M][^N]\)\+ použít .\+? – pokud tuhle konstrukci váš sed umí. +? je v Perl-like syntaxy „ne-nenasytný“ (ungreedy) operátor, tj. „spolkne“ co nejméně znaků.
Ale možná by nebylo od věci popsat, co chcete udělat doopravdy, možná bude existovat nějaké plně jiné jednoduché řešení. Ten váš příklad totiž nedává žádný smysl.
A nešlo by to větším kladivem?
echo ABC M N NM A AB AC BC BA CA CB MN ABC M BC BA CA CB N NM A AB MN | perl -pe 's/ABC.+?NM/ABC_NM/g;'
dává
ABC_NM A AB AC BC BA CA CB MN ABC_NM A AB MN
A co takhle?
Prepinac -r pro sed tam je pro pouziti rozsirenych reg. vyrazu. Bez nej to neprojde.
echo "ABC M N NM A AB AC BC BA CA CB MN ABC M BC BA CA CB N NM A AB MN" | sed -r 's/ABC(M[^MN]|[^M])*MM*N/ABC_MN/g'
Děkuji vsem za reakce...
Mě jde o to jake pomocí regulárního výrazu udělat něco jako [^ ] pronekolik znaků, tedy aby se například nemohlo v textu vyskytnout ABC ale mohlo A AB BC AC...
Něco jako [^\(ABC\)]
toto: echo ABC M N NM A AB AC BC BA CA CB MN ABC M BC BA CA CB N NM A AB MN | perl -pe 's/ABC.+?NM/ABC_NM/g;'
je přesnš to co hledám...
Díky moc
Jenom pro zajímavost... Jak by se to udělalo bez tech Perl-like vychytávek?
S tou negaci toho ABC, neslo by to takhle?: ([^A][^\ ]*)|(A^B[^\ ]*)|(AB^C[^\ ]*)
Nevim, jestli mam spravne syntaxi, protoze je to uz chvilka, co jsem si naposledy nejak poradne s regexpy hral, ale jde zhruba o to, ze bud bereme slova, ktera zacinaji na cokoliv jineho nez A, nebo (kdyz uz na A zacinaji) alespon nemaji na druhem miste B a nebo na tretim C.
Hmm, tak odbornik taky nejsem, ale ve skole jsme se ucili, jak jdou regularni vyrazy prevadet na konecne automaty a verim, ze to nejak podobne spousta enginu i dela. Slozitost toho prevodu je myslim i linearni, ale moc se mi nad tim ted premyslet nechce :) Takze na ten regexp, co jsem predtim napsal, by stacily tri konecne automaty, ktere by to prochazelo paralelne a navic, kdyz by to v jednom z nich prestalo odpovidat, tak se muze cela ta jedna vetev prestat resit (neco jako zkracene vyhodnocovani logickych operaci). Fakt nevim, jak jsou ty enginy delany, ale verim, ze s timhle by nemely nejmensi problem.
sedu a všem možném je ten, že nejde o regulární výrazy ve smyslu teorie formálních jazyků
Jak v téhle diskusi nevím, ty regexpy jsem nezkoumal
m/A(?!BC)/
Na urovni POSIX-regexpu tento ukol neni jednoduchy.
echo ABC M N NM A AB AC BC BA CA CB MN ABC M BC BA CA CB N NM A AB MN | sed 's/ABC\(AB[^C]\|A[^B]\|[^A]\)\+MN/ABC_MN/g'
Tiskni
Sdílej: