Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 159 (pdf).
Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.
Virtualizační software Xen (Wikipedie) byl vydán v nové verzi 4.21. Podrobnosti v poznámkách k vydání a přehledu nových vlastností.
Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).
Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.
První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.
Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.
Byla vydána nová verze 8.5 (8.5.0) skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení (URI Extension, Pipe Operator, Clone With, …). Vydána byla také příručka pro přechod z předchozích verzí.
Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu
… více »/^11 / { print t($5*180/3.141592653589) "\n" t($6*180/3.141592653589); }
Současný příkaz:
/^$/ { flag=0; next; }
/D Format/ { flag=0; next; }
/F Format/ { flag=1; next; }
/^ 9 / { print t($5) "\n" t($6); }
/^10 / { print t($5) "\n" t($6); }
/^11 / { print t($5*180/3.141592653589) "\n" t($6*180/3.141592653589); }
/^15 / { print t($5*100) "\n" t($6*100); }
/^16 / { print t($5) "\n" t($6); }
/^20 / { print t($5*10) "\n" t($6*10); }
/^23 / { print t($5) "\n" t($6); }
/^24 / { print t($5) "\n" t($6); }
function t(n, s) {
s=index(n,".");
return (s ? substr(n,1,s+6) : n);
}
Jak napsat více vstupních souborů?
awk -f code dcout1.active dcout2.active dcout3.active..... Jde to lépe?
Proč mám špatně vyhraněnou tu oblast? Vypisují se tam i hodnoty z následující tabulky.
Děkuji moc
/^$/ { flag=0; next; }
/D Format/ { flag=0; next; }
/F Format/ { flag=1; next; }
/^26 / { next; }
flag && /^ *[0-9]/ { print t($5) "\n" t($6); }
function t(n, s) {
s=index(n,".");
return (s ? substr(n,1,s+6) : n);
}
a to
43.685030
0.106608
0.080182
0.000675
2.734748
0.011468
0.219356
0.001769
83.864830
0.115873
2.250249
0.004792
3.936308
0.005290
7.491860
0.009210
ale potřeboval bych tam zahrnout to počítání.
# promenna FS urcuje oddelovac sloupcu, v mem pripade je to ;
# promenna OFMT urcuje pocet desetinnych mist a mezery mezi cisly
echo " Aritmeticky prumer dat od $USERDATE3 $USERTIME1 do $USERDATE4 $USERTIME2" >/datalog_bin/prumer/ctiprumer.$$
awk --use-lc-numeric 'BEGIN { FS = " "; print " Merici ustredna Difuse (OS GNU/Linux with Tux Inside)" }
{ s=s+$2; s1=s1+$3; s2=s2+$4; s3=s3+$5; s4=s4+$6; s5=s5+$7; s6=s6+$8; s7=s7+$9;\
s8=s8+$10; s9=s9+$11; s10=s10+$12; s11=s11+$13; s12=s12+$14; s13=s13+$15; s14=s14+$16; s15=s15+$17 }
END { OFMT= "%3.2f ";
print ""
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_0", s/NR+0.00001, "%RH ", "Prumerna_vlhkost_Skrin_1")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_1", s1/NR+0.00001, "°C ", "Prumerna_teplota_Skrin_1")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_2", s2/NR+0.00001, " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_3", s3/NR+0.00001, " ", " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_4", s4/NR+0.00001, "%RH ", "Prumerna_vlhkost_Skrin_2")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_5", s5/NR+0.00001, "\260C ", "Prumerna_teplota_Skrin_2")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_6", s6/NR+0.00001, " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_7", s7/NR+0.00001, " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_8", s8/NR+0.00001, "%RH ", "Prumerna_vlhkost_Skrin_3")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_9", s9/NR+0.00001, "\260C ", "Prumerna_teplota_Skrin_3")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_10", s10/NR+0.00001, " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_11", s11/NR+0.00001, " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_12", s12/NR+0.00001, "%RH ", "Prumerna_vlhkost_okoli")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_13", s13/NR+0.00001, "\260C ", "Prumerna_teplota_okoli")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_14", s14/NR+0.00001, "kPa ", "Prumerny_tlak_vzduchu")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_15", s15/NR+0.00001, " ", " ")}' \
< /datalog_bin/prumer/doprumeru.dat.$$ >>/datalog_bin/prumer/ctiprumer.$$
Výstup je takový:
CHANNEL_0 59,91 %RH Prumerna_vlhkost_Skrin_1 CHANNEL_1 22,71 °C Prumerna_teplota_Skrin_1 CHANNEL_2 0,00 CHANNEL_3 0,00 CHANNEL_4 52,60 %RH Prumerna_vlhkost_Skrin_2 CHANNEL_5 23,08 `C Prumerna_teplota_Skrin_2 CHANNEL_6 0,00 CHANNEL_7 0,00 CHANNEL_8 73,46 %RH Prumerna_vlhkost_Skrin_3 CHANNEL_9 22,68 `C Prumerna_teplota_Skrin_3 CHANNEL_10 0,00 CHANNEL_11 0,00 CHANNEL_12 42,59 %RH Prumerna_vlhkost_okoli CHANNEL_13 21,30 `C Prumerna_teplota_okoli CHANNEL_14 99,10 kPa Prumerny_tlak_vzduchu CHANNEL_15 0,00Více vstupních souborů:
hlavicka="/datalog_bin/tlak-vzduchu-html/hlavicka"
last200csv="/datalog_bin/tlak-vzduchu-html/200.csv"
paticka0="/datalog_bin/tlak-vzduchu-html/paticka0"
paticka="/datalog_bin/tlak-vzduchu-html/paticka"
{ #Start podminky
if (hlavicka == 1) #Pokud je promenna hlavicka=1, tiskni soubor1 (hlavicka)
print
if (hlavicka == 2) #Pokud je promenna hlavicka=2, uprav soubor2 (200.csv)
{ #Start programu - uprav soubor2
split($18, datum, "[\t -]")
$18 = datum [3] "." datum [2] "." datum [1] " " datum [4]
#Vypocet relativniho tlaku vzduchu
AbsPress = $16 #Absolutni tlak v kPa
ElevationDifuse = "217" #Nadmorska vyska v m
GravConst = "9,80665" #Isaac Newton
GasConst = "287,04" #Merna plynova konstanta R = 287,04 J/K
AverTempDifuse = $15 + (ElevationDifuse * "0,0025")
RelPressDifuse = AbsPress/exp(-ElevationDifuse * GravConst/(GasConst * ( "273,15" + AverTempDifuse ))) * 10* "1,0012"
format1 = " %s ""\n"
format2 = " %.2f °C ""\n"
format3 = " %.3f kPa ""\n"
format4 = " %.2f HPa ""\n"
if ($0 !~ /[a-z]/) #V datech je radek s textem, ktery musim odfiltrovat
{
printf "" "\n"
printf (format1 format2 format3 format4, $18, $15, $16, RelPressDifuse "\n")
print " " "\n"
}
else
{
next
}
} #Stop programu
if (hlavicka == 3) #Pokud je promenna hlavicka=7, print tabletty1
{
print
}
{ if (hlavicka == 4) #Pokud je promenna hlavicka=3, print paticka0
print
}
{ if (hlavicka == 5) #Pokud je promenna hlavicka=3, print aktualnihodnoty
print
}
{ if (hlavicka == 6) #Pokud je promenna hlavicka=3, print paticka
print
}
}' hlavicka=1 "$hlavicka" hlavicka=2 "$last200csv" hlavicka=3 "$tabletty1" hlavicka=4 "$paticka0" hlavicka=5 "$aktualnihodnoty" hlavicka=6 "$paticka" |tee \
"$destination1" "$destination2" >/dev/null
done
Tiskni
Sdílej: