Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 161 (pdf).
Po delší době vývoje vyšla nativní linuxová verze virtuálního bubeníka MT-PowerDrumKit 2 ve formátu VST3. Mezi testovanými hosty jsou Reaper, Ardour, Bitwig a Carla.
Desktopové prostředí Budgie bylo vydáno ve verzi 10.10. Dokončena byla migrace z X11 na Wayland. Budgie 10 vstupuje do režimu údržby. Vývoj se přesouvá k Budgie 11. Dlouho se řešilo, v čem bude nové Budgie napsáno. Budgie 10 je postaveno nad GTK 3. Přemýšlelo se také nad přepsáním z GTK do EFL. Budgie 11 bude nakonec postaveno nad Qt 6.
OpenChaos.dev je 'samovolně se vyvíjející open source projekt' s nedefinovaným cílem. Každý týden mohou lidé hlasovat o návrzích (pull requestech), přičemž vítězný návrh se integruje do kódu projektu (repozitář na GitHubu). Hlasováním je možné změnit téměř vše, včetně tohoto pravidla. Hlasování končí vždy v neděli v 9:00 UTC.
Byl vydán Debian 13.3, tj. třetí opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.13, tj. třináctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.
Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.
Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).
Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.
AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.
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: