Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.
Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.
Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.
Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].
V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.
O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.
Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
sed 's/\([0-9][0-9][0-9]\)$/ \1/g'ale to mi udělá pouze do tisíců.. Nelze nějak nastavit, aby se příkaz (například
's/\([0-9][0-9][0-9] \)$/ \1/g'
) opakoval, dokud neudělá už žádnou další změnu? Se sedem pracuji asi celé dvě hodiny, takže se moc nevyznám... Za každé nakupnutí moc díky!
echo 1234567890 \ | rev \ | sed -re 's/([0-9]{3})/\1 /g' -e 's/ $//' \ | rev:-) Ale určitě to jde nějak inteligentněji…
a=1234567890 while true; do b=`echo "$a" | sed -re 's/([0-9])([0-9]{3})\>/\1 \2/'` if [ "$b" = "$a" ]; then break; fi a="$b" done echo "$a":-)
sed -re ':1; s/([0-9])([0-9]{3})\>/\1 \2/; t1'
perl -pe 's/(?<=\d)(?=(\d{3})+\D)/ /g;'Pro srovnání ekvivalent toho sedového řešení, tedy aplikace regexpu na jedn řádek dokud se něco matchne, ale s využitím look-ahead/behid (many)
perl -pe 'while(s/(?<=\d)(?=\d{3}\D)/ /){}'a nakonec úplný ekvivalent toho sedu (normal)
perl -pe 'while(s/(\d)(\d{3}\D)/$1 $2/){}'A srovnání rychlosti
Rate one many normal one 69367/s -- -10% -47% many 77244/s 11% -- -40% normal 129705/s 87% 68% --Což mě teda přinejmenším hodně překvapilo, že to úplně obyčejné řešení je zároveň nejrychlejší.
Benchmark
modul v perlu nad třemi řetězci načtenými z DATA
. Musel bych nějak vymyslet jak omezit vliv natahování sed a rev do paměti a nad tím se mi teď nechce přemýšlet. Jinak zdroják testu:#!/usr/bin/env perl use strict; use warnings; use Benchmark qw(cmpthese); my @strs = <DATA>; cmpthese(-2, { one => sub { foreach (@strs) { s/(?<=\d)(?=(\d{3})+\D)/ /go; } }, many => sub { foreach (@strs) { while (s/(?<=\d)(?=\d{3}\D)/ /o){} } }, normal => sub { foreach (@strs) { while (s/(\d)(\d{3}\D)/$1 $2/o){} } } }); __DATA__ 1234567890 hwiehwfuih 1246537245735 __END__
strfmon()
, něco jako je printf(1)
vůči printf(3)
.
Tiskni Sdílej: