Byla vydána (Mastodon, 𝕏) první RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.
Eugen Rochko, zakladatel Mastodonu, tj. sociální sítě, která není na prodej, oznámil, že po téměř 10 letech odstupuje z pozice CEO a převádí vlastnictví ochranné známky a dalších aktiv na neziskovou organizaci Mastodon.
Byla vydána nová major verze 5.0 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v obsáhlých poznámkách k vydání. Videopředstavení na YouTube.
Cloudflare, tj. společnost poskytující "cloudové služby, které zajišťují bezpečnost, výkon a spolehlivost internetových aplikací", má výpadek.
Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou
… více »Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).
Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.
U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.
Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.
No moc nerozumím tomu co vlastně chceš, protože to vypadá, že chceš duplicitní soubor k access.log, ale s tím, že bude obsahovat pouze IP a čas, případně si vybereš část URL:
cat /var/log/access.log |grep "/~fuky/" |gawk '{ FS=" "; print $1 " " $4 $5 }'
Posílám Ti ukázkový skript, který vypíše počet přenesených dat pro každou IP, třeba se Ti bude hodit při řešení Tvého problému
#!/bin/bash
# Jestlize pocet argumentu neni roven 1 vypise napovedu
if [ $# -ne 1 ]; then
echo "Usage: $0 access.log"
exit
fi
# do promene URL ulozi seznam vsech url z logu
# cat vytiskne soubor na obrazovku
# gawk vytiskne prvni sloupec (FS=" " oddelovac sloupcu je mezera)
# sort setridi vstup
# uniq odstrani ze vstupu duplicitni radky
URL=$(cat $1 |gawk '{ FS=" "; print $1 }' |sort |uniq)
# pro kazdou url zjisti pocet prenesenych bajtu
# a nakonec cely vystup cyklu setridi numericky podle druheho sloupce
for name in $URL; do
# do promene size ulozi pocet prenesenych bajtu pro danou url
# cat vytiskne soubor na obrazovku
# grep vytiskne pouze pozadovanou url
# sed reguelni vyraz nam ze vstupu vyfiltruje pocet prenesenych bajtu
# tr znaky konce radku nahradi znakem plus
# sed posledni znak (tj. +) nahradi koncem radku
size=$(cat $1 |grep $name |\
sed -n 's/^.\+ - - \[.\+\] \".\+\" [0-9]\+ \([0-9]\+\) .\+$/\1/p' |\
tr "\n" "+" |\
sed 's/\(.\+\)./\1\n/')
# provedeni souctu, lze pouzit treba i bc
size_result=$(($size))
# vytiskne promenou name zarovnanou vlevo na 40 znaku
# a promenou size zarovnanou vpravo na 10 znaku
printf "%-40s %10i\n" $name $size_result
done |sort -r -n -k "2"
</var/log/apache2/access.log \
awk '{ n[$1] += 1 } END { for(i in n) { print n[i] "\t" i; } }'\
| sort -nr
Jednak ti klesne složitost z kvadratické na lineární a také nebudeš v každém průchodu smyčkou forkovat několik nových procesů
ps: Místo té jedničky si tam dej co potřebuješ – tohle ukáže počet přístupů.
To se mi líbí
Takže, aby to fungovalo stejně vypadalo by to takhle:
#!/bin/bash
< $1 awk '{
size = gensub(/^.+ - - \[.+\] ".+" [0-9]+ ([0-9]+) .+$/, "\\1", $0)
if (size != $0) {
n[$1] += size
}
} END { for(i in n) { print i "\t\t\t" n[i]; } }' | sort -nr -k "2"
Tiskni
Sdílej: