Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).
Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »;jmeno;delka;povodi;prutok;usti do;staty 1.;Amazonka - Ucayali - Apurimac;7062;6915000;219000;Atlantsky ocean;Brazilie, Peru, Bolivie, Kolumbie, Ekvador, Venezuela, Guyana 2.;Nil;6695;2870000;5100;Stredozemni more;Etiopie, Eritrea, Sudan, Uganda, Tanzanie, Kena, Rwanda, Burundi, Egypt, Demokraticka republika Kongo 3.;Jang-c-tiang;6300;1800000;31900;Vychodocinske more;CLR 4.;Mississippi - Missouri;6275;2980000;16200;Mexicky zaliv;USA (98.5%), Kanada (1.5%) 5.;Jenisej - Angara - Selenga;5539;2580000;19600;Karske more;Rusko, MongolskoJde mi o to aby se taot databaze v terminalu vypasala a nabidla serazeni podle povodi, prutoku a delky (standartne je serazena podle abecedy). Vyskytli se mi vsak dva probleme. Tim prvnim je vubec design databaze, rozhodl jsem se, ze za nazev reky doplnim urcitej pocet mezer aby vsechny delky rek zacinali na stejnem miste. Zatim se mi povedlo pouze napsat for cyklus ktery zjisti kolik znaku ma nazev nejdelsi reky, nyni potrebuju nejaky cyklus ktery by zjistil pocet znaku urcite reky, odecetl tento pocet od poctu znaku nejdelsi reky a ten vysledny rozdil by byl pocet mezer, ktere by cyklus za ten nazev reky dosadil. Druhy problem je u samotneho menu a sortovani. Podarilo se mi nahazet kazdy sloupec do jedne promene typu array, co policko to jedo array pole. Nyni potrebuju nejaky menu (Pokud chcete seradit podle blabla dejte napiste jednicku, pokud podle blabla napiste dvojku...) - tudis asi read -p a IF. Nasledne vsak tu nejtezsi cast to podle toho seradit, kdyz dam sort podle povodi, potrebuju aby se pak prehazeli i ostani sloupce aby bylo u kazdeho povodi spravny nazev reky a dalsi informace. V tom by imho meli pomoc indexi polí. Nic méně nemůžu přijít jak na to. Doufám, že si s tím někdo poradí, předem děkuji za všechny rady. Zde už zmíněný skript, s postupem ke kterému, jsem se dopracoval sám:
#!/bin/bash declare x declare -a y declare z declare pozice declare -a idecko declare -a jmena declare -a delka declare -a povodi declare -a prutok IFS=$'\n'; pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f1 -d';' ); do idecko[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f2 -d';' ); do jmena[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f3 -d';' ); do delka[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f4 -d';' ); do povodi[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f5 -d';' ); do prutok[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1 y=0 z=0 for x in $( cat reky.csv | grep -v "jmeno" | cut -f2 -d';' ); do y[$pozice]=$x && if [ $z -lt ${#y[$pozice]} ]; then z=${#y[$pozice]} && pozice=$((pozice + 1)); fi done pozice=1 for x in $( cat reky.csv | grep -v "jmeno" ); do echo -n -e " ${idecko[$pozice]} \t" ${jmena[$pozice]} echo "${delka[$pozice]} ${povodi[$pozice]} ${prutok[$pozice]}" && pozice=$((pozice + 1)); done
mezery="" for((i=${#promennaobsahujicijmenoreky}; $i<$delkanejdelsireky; i++)); do mezery=" $mezery" done echo "'$mezery'"K tomu: read -p a IF to by šlo
read -p "Zvolte a nebo b" case $REPLY in a) delejneco ;; b) delejnecojineho ;; *) chybnavolba ;; esacale s ohledem na možnost překlepu by to asi chtělo do while cyklu apod, no a nebo zkuste třeba
select
PS3="Vaše volba: " select i in a b exit; do [[ "$i" == "exit" ]] && break echo "$i" doneŘazení podle něčeho jsem přesně nepochopil, nestačil by sort podle určitého sloupce?
sort -k N
Nyni potrebuju nejaky menu (Pokud chcete seradit podle blabla dejte napiste jednicku, pokud podle blabla napiste dvojku...)Dialog, pripadne vsechny jeho derivaty, inspirace, kopie, napodobeniny apod. (lxdialog, cdialog, Xdialog, Newt/whiptail, Zenity, ...) by mohly byt tvojimi kamarady. screenshot a jeste jeden. Samozrejme to muzes pokazde udelat tim nejbrutalnejsim zpusobem, jak uz ti tady radili vyse, tedy vypisovat text primo na terminal. Navod je treba tady (dalsi stranka pak dava lehounky uvod do dialogu) Musim se take pripojit k te zadosti o mene otazek najednou a hlavne lepe formatovat. Je az z podivem, ze jsem se tim prokouskal. Takhle ti vazne moc lidi neporadi, kdyz to vypada, jako by sem jen tak ledabyle odhodil nejaky nepouceny klikaci uzivatel. A abych nezapomnel, tak doporucim cteni
Oh, my eyes!pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f1 -d';' ); do idecko[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f1 -d';' ); do idecko[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f2 -d';' ); do jmena[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f3 -d';' ); do delka[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f4 -d';' ); do povodi[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f5 -d';' ); do prutok[$pozice]=$x && pozice=$((pozice + 1)); done pozice=1
Zvysovani pozicniho indexu jsem nejak nepochopil. Nemelo by tam byt: pozice=(($pozice + 1)) ?Nebo pochopitelne hezci Bashova verze:
((pozice++))
(viz "man bash", sekce ARITHMETIC EVALUATION)
Aby to bylo uplne jasne, tak ta "oskliva" verze by pak vypadala:pozice=1 for x in $( cat reky.csv | grep -v "jmeno" | cut -f5 -d';' ); do prutok[$pozice]=$x && pozice=$((pozice + 1)); done
pozice=1
for reka in $(cat reky.csv | grep -v "jmeno" | cut -f5 -d';' )
do
prutok[$((pozice++))]=$reka
done;
prutok[$(cat reky.csv | grep -v "jmeno" | cut -f5 -d';' )]
a pak by to bylo indexovane automaticky od nuly
Nemelo by tam byt: pozice=(($pozice + 1)) ?Odpovim si sam: nemelo
printf %10s string printf %-10s stringPokial vadi spustanie externeho procesu (je to napr. volane v cykle 100000x), tak cisto v Bashi (ukazane na cislach, pouzivam to v jednom skripte a nechce sa mi to prerabat):
#!/bin/bash zeros=0000000000 # 10 nul num=123 if [[ ${#num} -lt 10 ]]; then len=$((10 - ${#num})) num="${zeros:0:$len}$num" fi echo $num
sh
a jeste je potreba dodelat pekne formatovani):
#!/bin/sh
DB="db.csv"
OFF=10
echo "Available sort orders:"
I=1
head -1 $DB | sed "s/;/\n/g" | while read H; do
echo "$I.) $H"
I=`expr $I + 1`
done
MAX=`head -1 $DB | sed "s/[^;]//g" | wc -c`
SORT=""
while [ "X" = "X$SORT" ]; do
echo
printf "Select sort order (use value +$OFF for numeric sort): "
read SORT
if [ "X" = "X$SORT" ]; then
echo "Sort order can not be empty!"
else
if expr $SORT + 0 1>/dev/null 2>&1; then
NUM=""
if [ $SORT -gt $OFF ]; then
SORT=`expr $SORT - $OFF`
NUM="-n"
fi
if [ $SORT -gt $MAX ]; then
echo "Sort order is over maximal ($MAX) allowed value!"
SORT=""
fi
else
echo "Value \"$SORT\" is not numeric!"
SORT=""
fi
fi
done
echo
tail -n +2 $DB | sort -k $SORT -t ";" $NUM
Tiskni
Sdílej: