Meta představila prototyp náramku, který snímá elektrickou aktivity svalů (povrchová elektromyografie, EMG) a umožňuje jemnými gesty ruky a prstů ovládat počítač nebo různá zařízení. Získané datové sady emg2qwerty a emg2pose jsou open source.
Byla vydána (𝕏) nová verze 25.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 25.7 je Visionary Viper. Přehled novinek v příspěvku na fóru.
Před 40 lety, 23. července 1985, společnost Commodore představila první počítač Amiga. Jednalo se o počítač "Amiga od Commodore", jenž byl později pojmenován Amiga 1000. Mělo se jednat o přímou konkurenci počítače Apple Macintosh uvedeného na trh v lednu 1984.
T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.
Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).
Byla vydána nová verze 2.4.65 svobodného multiplatformního webového serveru Apache (httpd). Řešena je bezpečnostní chyba CVE-2025-54090.
Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia AI asistenta Lumo.
Amazon koupil společnost Bee zaměřenou na nositelnou osobní AI aktuálně nabízející náramek Pioneer (YouTube) s mikrofony zaznamenávající vše kolem [𝕏, LinkedIn].
Společnost Teufel nedávno představila svůj první open source Bluetooth reproduktor MYND.
Byla vydána verze 4.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
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.
sed
u a všem možném je ten, že nejde o regulární výrazy ve smyslu teorie formálních jazyků 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: