Organizace Apache Software Foundation (ASF) vydala verzi 20 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Desktopové prostředí Cinnamon, vyvíjené primárně pro distribuci Linux Mint, dospělo do verze 6.0. Seznam změn obsahuje především menší opravy a v říjnovém přehledu novinek v Mintu avizovanou experimentální podporu Waylandu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzích 2.2.2 a 2.1.14. Přináší důležitou opravu chyby vedoucí k možnému poškození dat.
V ownCloudu byly nalezeny tři kritické zranitelnosti: CVE-2023-49103, CVE-2023-49104 a CVE-2023-49105 s CVSS 10.0, 8.7 a 9.8. Zranitelnost CVE-2023-49103 je právě využívána útočníky. Nextcloudu se zranitelnosti netýkají.
I letos vychází řada ajťáckých adventních kalendářů. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2023. Pro programátory v Perlu je určen Perl Advent Calendar 2023. Zájemci o UX mohou sledovat Lean UXmas 2023. Pro zájemce o kybernetickou bezpečnost je určen Advent of Cyber 2023…
Byla vydána verze 2.12 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 23.11 Topi. Přehled novinek v Changelogu.
Po 4 měsících vývoje byla vydána nová verze 4.2 multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu a na YouTube.
Byla vydána nová stabilní verze 23.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Tapir. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) upozorňuje na hrozbu spojenou s používáním mobilní aplikace WeChat a její čínské verze Weixin (dále jen WeChat). Ta sbírá velký objem uživatelských dat, a právě to by – v kombinaci se způsobem jejich sběru – mohlo sloužit k přesnému zacílení kybernetických útoků.
xxx;xx;xxx;xxx;2007-03-28;10:20:05 xxx;xx;xxx;xxx;2007-03-28;16:20:05 xxx;xx;xxx;xxx;2007-03-28;21:20:05 xxx;xx;xxx;xxx;2007-03-28;23:20:05 xxx;xx;xxx;xxx;2007-03-29;00:20:05 xxx;xx;xxx;xxx;2007-03-29;06:20:05 xxx;xx;xxx;xxx;2007-03-29;11:20:05 xxx;xx;xxx;xxx;2007-03-29;14:20:05 xxx;xx;xxx;xxx;2007-03-29;20:20:05 xxx;xx;xxx;xxx;2007-03-30;10:20:05 ------------ ------------ Mám např. tyto proměnné: Datum_start=2007-03-28 Hodina_start=18:02:10 Datum stop=2007-03-29 Hodina_stop=16:21:55Potřeboval bych vypsat všechny řádky od Datum_start -Hodina_start do Datum stop - Hodina_stop. Umím vypsat řádky jen podle datumu: sed -n "/$Datum_start/,/$Datum_stop/ p" Zkoušel jsem: sed -n "/$Datum_start [$Hodina_start]/,/$Datum_stop/ p", ale toto mi nefunguje. Nevím, jak přidat tu druhou proměnnou, aby to vypsalo řádky od $Hodina_start.
user@stroj:~$ awk -F\; '{if ($5>="2007-03-28" && $5<="2007-03-28") print $0}' test.txt xxx;xx;xxx;xxx;2007-03-28;10:20:05 xxx;xx;xxx;xxx;2007-03-28;16:20:05 xxx;xx;xxx;xxx;2007-03-28;21:20:05 xxx;xx;xxx;xxx;2007-03-28;23:20:05A podmínky si lze nakombinovat dle libosti..
sed -n "/$Datum_start;$Hodina_start/,/$Datum_stop;&Hodina_stop/p"
Překlep sed -n "/$Datum_start;$Hodina_start/,/$Datum_stop;$Hodina_stop/p"
awk -F\ -v DSTART=$Datum_start -v DSTOP=$Datum_stop '{}'
v awk budou promenne Datum_start mapovana na DSTART
user@stroj:~$ awk -F\; -v datstart=$Datum_start -v datstop=$Datum_stop \ '{if ($5>=datstart && $5<=datstop) print $0}' test.txtNeví někdo, jak tam ještě přidat ty hodiny?
awk -F\; -v datstart=$datum_start -v datstop=$datum_stop -v hodstart=$hodina_start -v hodstop=$hodina_stop '$5 == datstart && $6 == hodstart,$5 == datstop && $6 == hodstop{print}' sample.txt
Mám např. tyto proměnné: datum_start=2007-03-28 hodina_start=18:02:10 datum_stop=2007-03-29 hodina_stop=16:21:55
awk -F\; -v datstart=$datum_start -v datstop=$datum_stop -v hodstart=$hodina_start -v hodstop=$hodina_stop '$5 == datstart && $6 == hodstart,$5 == datstop && $6 == hodstop{print}' test.txtNezobrazí nic.
user@neuron-ai ~ $ cat test.txt 1 xxx;xx;xxx;xxx;2007-03-28;10:20:05 2 xxx;xx;xxx;xxx;2007-03-28;16:20:05 3 xxx;xx;xxx;xxx;2007-03-28;21:20:05 4 xxx;xx;xxx;xxx;2007-03-28;23:20:05 5 xxx;xx;xxx;xxx;2007-03-29;00:20:05 6 xxx;xx;xxx;xxx;2007-03-29;06:20:05 7 xxx;xx;xxx;xxx;2007-03-29;11:20:05 8 xxx;xx;xxx;xxx;2007-03-29;14:20:05 9 xxx;xx;xxx;xxx;2007-03-29;20:20:05 10 xxx;xx;xxx;xxx;2007-03-30;10:20:05 user@neuron-ai ~ $ cat oddo #!/bin/bash datum_start=2007-03-28 hodina_start=21:20:05 datum_stop=2007-03-29 hodina_stop=20:20:05 awk -F\; -v datstart=$datum_start -v datstop=$datum_stop \ -v hodstart=$hodina_start -v hodstop=$hodina_stop '$5 == datstart && \ $6 == hodstart,$5 == datstop && $6 == hodstop{print}' test.txt user@neuron-ai ~ $ ./oddo 3 xxx;xx;xxx;xxx;2007-03-28;21:20:05 4 xxx;xx;xxx;xxx;2007-03-28;23:20:05 5 xxx;xx;xxx;xxx;2007-03-29;00:20:05 6 xxx;xx;xxx;xxx;2007-03-29;06:20:05 7 xxx;xx;xxx;xxx;2007-03-29;11:20:05 8 xxx;xx;xxx;xxx;2007-03-29;14:20:05 9 xxx;xx;xxx;xxx;2007-03-29;20:20:05Problem je v zle naplnenych premennych. Ak tvoj test.txt obsahuje to iste co moj, tak je jasne, ze ti to nepojde, pretoze sa nenajde dany cas (hodina_start). "Program" samozrejme hlada presny vyskyt retazca. Teda datum/cas musi presne sediet s nejakym datumom/casom v test.txt.
awk -F\; -v datstart=$datum_start -v datstop=$datum_stop -v hodstart=$hodina_start -v hodstop=$hodina_stop '$5 >= datstart && $6 >= hodstart,$5 <= datstop && $6 <= hodstop{print}' test.txt
xxx;xx;xxx;xxx;2007-03-28;10:20:05 xxx;xx;xxx;xxx;2007-03-28;16:20:05 xxx;xx;xxx;xxx;2007-03-28;21:20:05 xxx;xx;xxx;xxx;2007-03-28;23:20:05 xxx;xx;xxx;xxx;2007-03-29;00:20:05 xxx;xx;xxx;xxx;2007-03-29;06:20:05 xxx;xx;xxx;xxx;2007-03-29;11:20:05 xxx;xx;xxx;xxx;2007-03-29;14:20:05 xxx;xx;xxx;xxx;2007-03-29;20:20:05 xxx;xx;xxx;xxx;2007-03-30;10:20:05 ------------ ------------ Mám např. tyto proměnné: Datum_start=2007-03-28 Hodina_start=18:02:10 Datum stop=2007-03-29 Hodina_stop=16:21:55Chci vypsat řádky od Datum_start - Hodina_start do Datum stop - Hodina_stop. Problém je, že se Hodina_start a Hodina_stop nemusí přesně shodovat s údaji v souboru test.txt. Nakonec jsem přišel na toto řešení:
#prevede datum a cas v souboru test.txt (napr.2007-03-28;18:02:10)\ #na cislo (napr. 20070328180210) a ulozi do souboru test1.txt cat test.txt|sed '/-/s///g;/:/s///g;/;/s///5'>test1.txt datumstart=2007-03-28 hodinastart=18:02:10 #vysledna promenna start bude mit format 20070328180210 start=$(echo $datumstart$hodinastart|sed '/-/s///g;/:/s///g;/;/s///5') datumstop=2007-03-29 hodinastop=16:21:55 #vysledna promenna stop bude mit format 20070329162155 stop=$(echo $datumstop$hodinastop|sed '/-/s///g;/:/s///g;/;/s///5') #vypise radky od 2007-03-28 16:20:05 do 2007-03-29 16:20:05 awk -F\; -v datstart=$start -v datstop=$stop\ '{if ($5>=datstart && $5<=datstop) print $0}' test1.txtPokud se někomu nelíbí ten cat, tak je to proto, že mi to tyto stránky nechtěli vzít (nepovolený text test.txt). A jestli má někdo jednodušší řešení, sem s tím. By
test1.txt
:
sed 's/[-:]//g;/;/s///5' test.txt > test1.txt
start
(a podobně i stop
) :
start=${datumstart//-/}${hodinastart//:/}
Tiskni
Sdílej: