Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
DMN=("aaa|dasdsaa|ddasddd" "bbb|dasdsaa|ddasddd" "ccc|dasdsaa|ddasddd") for echo ??? // výsledek aaa echo ??? // výsledek dasdsaa echo ??? // výsledek ddasddd done
Pokud by to nebylo v poli, ale v souboru nebo jako výstup nějakého příkazu, bylo by to o dost jednodušší. Skutečně tam musí figurovat to pole?Tak nemusí tam figurovat pole, ale pokud to bude v souboru, tak jsem myslel, že to bude ještě složitější, navíc si to ani nedokážu moc představit jak to mysliš.
cut -d\| -f 1 <data.txtNebo druhý sloupeček výstupu z jiného programu:
program | cut -d\| -f 2Formátovaný výstup:
program | awk -F'|' '{printf "A: %s\nB: %s\nC: %s\n\n",$1,$2,$3}'
A: aaa B: dasdsaa C: ddasddd A: bbb B: dasdsaa C: ddasddd A: ccc B: dasdsaa C: ddasdddapod. Možností je mnoho, ale ve chvíli, kdy to někdo nacpe do pole, je jich o něco méně a jsou s tím občas problémy.
DMN=("aaa|dasdsaa|ddasddd" "bbb|dasdsaa|ddasddd" "ccc|dasdsaa|ddasddd") i=0 for i in ${!DMN[*]} do IFS="|" ARRAY=${DMN[$i]} echo ${ARRAY[0]} echo ${ARRAY[1]} echo ${ARRAY[2]} done
ARRAY=${DMN[$i]}má být
ARRAY=(${DMN[$i]})Tady to je dvojím způsobem (druhý je spíš na zamyšlení „co to dělá“):
#!/bin/bash DMN=("aaa|dasdsaa|ddasddd" "bbb|dasdsaa|ddasddd" "ccc|dasdsaa|ddasddd") for (( i=0; i < ${#DMN[@]}; i++ )); do echo "${DMN[$i]}" done OLDIFS=$IFS IFS='|' for (( i=0; i < ${#DMN[@]}; i++ )); do var=(${DMN[$i]}) for (( j=0; j < ${#var[@]}; j++ )); do echo "${var[$j]}" done done IFS=$OLDIFS for (( i=0; i < ${#DMN[@]}; i++ )); do var=${DMN[$i]} while [ 1 ]; do varout=${var%%|*} var=${var#*|} echo "${varout}" if [[ "$var" != *\|* ]]; then echo "${var}" break fi done done
#!/bin/bash a=(foo bar) b=(bar foo) c=(a b) eval echo \${${c[0]}[0]} \${${c[1]}[0]}
eval
je sice v mnoha jazycích, ale vždy je u ní uvedeno, že se jedná o funkci pomalou a potenciálně nebezpečnou. Je lépe se jejímu použití vyhnout a zpravidla to jde. Jen je nutné se na problém podívat z jiného úhlu.
Tiskni
Sdílej: