Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.
Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.
České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.
Microsoft Defender nově podporuje linuxové desktopy.
Oficiální Epic Games Launcher je v nové preview verzi poprvé dostupný i pro Linux (FAQ). Pracuje se na novém Easy Anti-Cheatu pro Linux (EAC Linux v2) a podpoře hry Fortnite na Linuxu.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.8. Novinky zahrnují lepší podporu vzdálené plochy, sdílení a nahrávání obrazovky a řadu drobností napříč uživatelským rozhraním (úplný seznam změn, shrnutí ve wiki).
Apple představil 7palcový displej Apple HomeView s podporou Apple Intelligence a Siri AI pro ovládání chytré domácnosti, novou řadu vybavení chytré domácnosti Apple Home Collection, další generaci HomePodu mini a novou Apple TV 4K. Apple HomeView není v Evropské unii v prodeji, jelikož umělá inteligence Siri v rámci systému iOS v EU momentálně není k dispozici. Apple spolupracuje s EU a snaží se najít cestu, jak situaci vyřešit.
KDE slaví 30 let. Přesně před 30 lety, 14. října 1996, poslal Matthias Ettrich do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu KDE. Důležité milníky jsou zobrazeny na časové ose.
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: