4 PROGNAME
=$
(basename $0)
9 echo "usage: $PROGNAME [-h] [-r] file"
10 echo " -h: help message"
12 echo " -r: reset stats"
13 echo " file: data to monitor"
19 [ -f $resource ] && rm $resource
25 resource
=$HOME/.
$PROGNAME
27 # parameter processing
28 while [ $# -gt 0 ]; do
33 *) files
="$files $1";;
39 [ "$files" ] ||
{ echo "no file specified"; exit 1; }
42 [ -f $resource ] && source $resource
47 f
=$
(echo $f |
sed 's,//*,/,g')
48 [ -f $f ] ||
{ echo "can't find file '$f'"; exit 1; }
52 newvar
=($
(awk '{ for (i = 1; i <= NF; i++) if ($(i) ~ /^[-+0-9][0-9]*$/) printf " %s", $(i) }' $f))
53 eval oldvar
=(\
${$var[@]})
56 for ((i
=0; i
<${#newvar[@]}; i
++)); do
57 [ "${oldvar[$i]}" ] && v
[$i]=$
((newvar
[i
] - oldvar
[i
])) || v
[$i]=${newvar[$i]}
61 if [ "$set" = "yes" ]; then
62 echo "$var=(${newvar[@]})" >>$resource
65 for ((i
=0; i
<${#v[@]}; i
++)); do
66 str
="$str; v[$i]=${v[$i]}"
68 awk 'BEGIN { k=0 '"$str"' } { for (i=1; i<=NF; i++) if ($(i) ~ /^[-+0-9][0-9]*$/) $(i)=v[k++]; print }' $f
74 if [ "$set" = "yes" ]; then
75 awk -F= '{ a[$1]=$2 } END { for (i in a) print i "=" a[i] }' $resource > $resource.n
76 mv -f $resource.n
$resource