Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.
Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.
Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.
Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).
aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.
OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.
Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.
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:05
A 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.txt
Nezobrazí nic.
Stačí se jen kouknout na podmínky.. "==" není totéž co ">=" nebo ">"
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:05
Problem 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.txt
Pokud 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: