Byla vydána verze 2026 distribuce programu pro počítačovou sazbu TeX s názvem TeX Live (Wikipedie). Přehled novinek v oficiální dokumentaci.
Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].
Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.
Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.
Byla vydána verze 1.94.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Zveřejněny byly výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2025 State of Rust Survey Results.
Google zveřejnil seznam 185 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 16. do 31. března. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů za velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.
Byla vydána únorová aktualizace aneb nová verze 1.110 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.
Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).
VARIABLE=aaa
sed -e "s/\$VAR\$\/${VARIABLE}/g" /tmp/text.txt
VARIABLE=aaa vytvoří proměnnou shellu, kterou programy z shellu spuštěné nevidí. Zkus
export VARIABLE=aaa
sed -e "s/\$VAR\$\/${VARIABLE}/g" /tmp/text.txt
sed.
To je nesmysl. Zaprvé, sed žádnou proměnnou nepotřebuje vidět, protože ji expanduje přímo shell do toho argumentu sedu. Zadruhé, i kdyby ji sed viděl ve svém environment poli (3. argument main() atd. atp.), nikdy by ji nepoužil, protože sed prostě a jednoduše nikdy žádné proměnné prostředí neexpanduje, dolar neinterpretuje jako začátek názvu proměnné atd. atp. Není to shell.
VARIABLE=aaa
sed -e 's/\$VAR\$\'"/${VARIABLE}/g" /tmp/text.txt
sed -e "s/\\\$VAR\\\$/${VARIABLE}/g" /tmp/text.txt
Což mě vede k druhé poznámce. sed výrazy, kde se z jakéhokoliv důvodu objevuje jakékoliv lomítko se blbě čtou, když se takže raději třeba:
sed -e "s@\\\$VAR\\\$@${VARIABLE}@g" /tmp/text.txt
resp. předchozí mix uvozovek třeba:
sed -e 's#\$VAR\$#'"${VARIABLE}#g" /tmp/text.txt
Pořád máte problém, pokud hodnota té proměnné bude obsahovat oddělovač. Takže abrakadabra…
sed -re "s/\\\$VAR\\\$/${VARIABLE//\//\\/}/g"
A teď ještě ošetřit věci typu "\1", "&", a to už snad bude všechno. :-)
replace="bar\1&\nfoo//" unsedvar="$(printf '%s' "$replace" | sed 's|\\|\\\\|g ; s|/|\\/|g ; s|&|\\&|g')" sed 's/\$VAR\$/'"$unsedvar/g" file.txt
Já bych netrval na sedu. Nacpat obsah proměnné do příkazu sedu s sebou vždycky nese riziko, že v ní budou znaky, které sed zmatou. Připomíná to kdysi populární SQL injection útoky.
Co třeba tohle?
export VARIABLE='>>>///ble;ble///<<<'
awk '{gsub(/\$VAR\$/, ENVIRON["VARIABLE"]); print $0}'
Tady^^^ může $VARIABLE obsahovat, co chce. Testovací vstup:
something $VAR$ ble $VAR$$$$VAR$ blabla Karlovy $VAR$y 00$VAR$1 $VAR$$VAR$
Vrací mi to tohle, což by snad i docela šlo:
something <<<///ble;ble///>>> ble <<<///ble;ble///>>>$$<<<///ble;ble///>>> blabla Karlovy <<<///ble;ble///>>>y 00<<<///ble;ble///>>>1 <<<///ble;ble///>>><<<///ble;ble///>>>
Tedy, tomu awk se samozřejmě dá ten vstupní soubor, buď jako argument nebo na standardní vstup.
No jo, bude se tam muset dát ${VARIABLE//&/\\&} (přiřadit do jiné proměnné prostředí nebo tak).
Což stále neřeší VARIABLE='\&', protože výsledek "\\&" pochopí awk jinak, než bylo zamýšleno. Takže by se to muselo oescapovat úplně a pořádně.
Tiskni
Sdílej: