Re: Re: t_onlineplot (Added weekday)
#!/bin/bash
filter_log () {
next=0
while read line; do {
date="$(cut -d',' -f1 <<< "$line")"
[ $date -gt $next ] && {
echo "$date"
read m s <<< $(date -d @$date +"%M %S")
next=$(( $date + 3600 - 10#$m*60 - 10#$s ))
}
}; done | xargs -I. date +%Y-%m-%d,%-H +"%Y-%m-%d (%a),%-H" -d @.
}
plot () {
i_="\033[7m"
n_="\033[0m"
tot=0
onl=0
echo -n ' ' '
for i in {0..23}; do [ $(($i%2)) -eq 0 ] && printf "%-4d" "$i"; done; echo
echo -n ' ' '
for i in {0..23}; do [ $((($i+1)%2)) -eq 0 ] && printf "%-4d" "$i"; done; echo
while read line; do {
IFS=, read -ra days <<< "$line" #"$(date -d @$line +%Y-%m-%d,%-H)"
day=${days[0]}
[[ "$day_last" != "$day" ]] && {
[ ! -z "$day_last" ] && echo
day_last=$day
echo -n "$day "
[ -z "$day_last" ] && day_last=$day
ptr=0
}
hr=${days[1]}
let diff=$hr-$ptr
for ((i=0; i<$diff; i++)); do echo -n ' '; done
let tot+=$diff
let onl+=1
let ptr=$hr+1
echo -ne "$i_ $n_"
}; done
echo
let tot+=$onl
echo "Online $(bc <<< "scale=3; ($onl/$tot)*100" | sed -e 's/0*$//;s/\.$//')% of the times ($onl out of $tot hours)."
}
filter_log | plotplot
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}