#!/bin/sh die() { echo "$@" >&2 exit 1 } HOST="$1" IF="$2" [ "$HOST" ] || die "Specify hostname" URL="http://$HOST/SysStatistics_ADSL.html" STATS=`wget -q -O- --user=admin --password=thepassword "$URL" | grep ''` T1=`echo "$STATS" | head -1` T2=`echo "$STATS" | head -2|tail -1` P1=`echo "$T1"|sed 's/]*>//g;s/<\/div>/|/g;s/<[^>]*>//g;s/ *//g'` P2=`echo "$T2"|sed 's/]*>//g;s/<\/div>/|/g;s/<[^>]*>//g;s/ *//g'` # Now have: #P1=1-PPPoE:Up:3006190:2424875:0:286:392:21:20:30: #P2=:Up:2563185:3738469:0: # fields: #P1=Node-Link:Status:TxPkts:RxPkts:Errors:Tx B/s:Rx B/s:Up Time #P2=Status:TxPkts:RxPkts:Collisions TITLE="Node-Link|Status|TxPkts|RxPkts|Errors|Tx B/s|Rx B/s|Up Time||Status|TxPkts|RxPkts|Collisions" DATA="$P1$P2" POS=1 T1=`echo "$TITLE"|cut -d"|" -f$POS|sed 's/ //g'` D1=`echo "$DATA" |cut -d"|" -f$POS` PREFIX="WAN-" while [ $POS -lt 20 ]; do if [ "$T1" = "UpTime" ]; then D1=` IFS=":" set - ""$D1 H="$1" M="$2" S="$3" expr \( $H \* 60 + $M \) \* 60 + $S ` fi if [ "$T1" -a "$D1" ]; then if [ "$IF" = "" ]; then printf "$PREFIX$T1:$D1 " elif [ "$IF"- = "$PREFIX" ]; then case "$T1" in TxPkts|RxPkts|Errors|Collisions) printf "$T1:$D1 ";; esac fi else PREFIX="LAN-" fi POS=`expr $POS + 1` T1=`echo "$TITLE"|cut -d"|" -f$POS|sed 's/ //g'` D1=`echo "$DATA" |cut -d"|" -f$POS` done echo