Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.
Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).
Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.
Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).
Organizace Apache Software Foundation (ASF) vydala verzi 30 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.
Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).
V Drupalu byla nalezena a opravena kritická zranitelnost SA-CORE-2026-004 (CVE-2026-9082). Útočník může provádět libovolné SQL dotazy na webech používajících databázi PostgreSQL.
Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.
O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).
Byla vydána nová verze 9.5 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í a na YouTube.
28135: open("/etc/lib"map.conf3", O_RDONLY, (unfinished ...)
28131: open("/etc/lib"map.conf12", O_RDONLY, (unfinished ...)
28131: (... open resumed)) = 0
28135: (... open resumed)) = -1 ENOENT (No such file or directory)
A potřeboval bych řádky se stejným počátečním číslem spojit do jednoho, aby výstup vypadal takto:
28135: open("/etc/lib"map.conf3", O_RDONLY, (unfinished ...)28135: (... open resumed)) = -1 ENOENT (No such file or directory)
28131: open("/etc/lib"map.conf12", O_RDONLY, (unfinished ...)28131: (... open resumed)) = 0
Tuším způsob, jak to třeba v awk udělat (začít u prvního řádku a porovnávat $1 s ostatními, když se najde shoda, vytisknout), ale vůbec mi nenapadá, jak to nakódit (s awk teprve začínám) a navíc mi tenhle způsob přijde neefektivní a náročný na čas.
my %line_pairs;
while (my $line = <>) {
chomp $line;
my @fields = split ':', $line;
my $num = shift @fields;
$line_pairs{$num} .= join ':', @fields;
}
for my $key (sort keys %line_pairs) {
print $line_pairs{$key}, "\n";
}
Možná trošku špatně, psáno z hlavy, netestováno.
{
i = $1
gsub(/:/, "", i)
lines[i] = lines[i] $0 " "
}
END {
for (i in lines) {
print lines[i]
}
}
awk '{if($1 in a){print a[$1]""$0;delete a[$1];}a[$1]=$0}' vstup
{
lines[$1] = lines[$1] $0 " "
}
END {
for (i in lines) {
print lines[i]
}
}
Předtím jsem totiž zapomněl, že pole v AWK mohou jako klíče používat libovolné řetězce.
jak se vlastně s awk a perlem pracuje.Chcete si to ozkoušet a pak si vybrat. Mně se třeba pracuje lépe s perlem (je univerzálnějším nástrojem než awk, ale uznávám, že může ze awk může vypadat přehledněji). Samozřejmě v perlu by to šlo taky napsat zkráceně
perl -ane 'chomp ;$line{$F[0]} .= $_; END{print $_,"\n" foreach values(%line)}'
sort subor | awk 'NR == 1 {last_id=$1;last=$0}
NR > 1 {if ($1 == last_id) {last = last$0} else {print last; last=$0; last_id=$1}}
END {print last}'
Ak je subor vysledkom prikazu grep, tak uz asi utriedeny je
unfinished ... a open resumed vyskytuje ?
sort subor | awk 'NR == 1 {last_id=$1;last=$0} NR > 1 {if (($1 == last_id) && ($0 ~ "unfinished|open resumed")) {last = last$0} else {print last; last=$0; last_id=$1}} END {print last}'
3733 execve("/bin/ls", ["ls", "/etc/anacrontab", "/etc/blkid.tab", "/etc/crontab", "/etc/crypttab", "/etc/fstab", "/etc/mtab"], [/* 38 vars */] < unfinished ...>
3733 <... execve resumed> ) = 0
3735 execve("/bin/sed", ["sed", "-n", "1p"], [/* 38 vars */] < unfinished ...>
3735 <... execve resumed> ) = 0
mohol by sem niekto napisat riesenie v awk aby mi to spojilo riadky ktore si odpovedaju tymi zaciatocnymi cislami?dakujem
Tiskni
Sdílej: