#! /bin/sh
TMPFILE="/tmp/station-dump.txt"
MINDIFF=15

GREP_ARG=""
SED_ARG=""

if [ "$1" == "stations" ]; then
        GREP_ARG="Station"
        SED_ARG="Station \([0-9a-f:]*\).*"
fi 
if [ "$1" == "signal" ]; then
        GREP_ARG="signal:"
        SED_ARG="\s*signal:\s*-\([0-9]*\).*"
fi
if [ "$1" == "connected-time" ] ; then
        GREP_ARG="connected time:" 
        SED_ARG="\s*connected time:\s*\([0-9]*\).*"
fi
if [ "$1" == "iface" ] ; then
        GREP_ARG="Station"
        SED_ARG="Station [0-9a-f:]* (on \([^)]*\))"
fi

if [ -f "${TMPFILE}" ]; then 
        AGE=$(date -r "${TMPFILE}" +%s)
        CUR=$(date +%s)
        let DIFF=$CUR-$AGE
        if [ "$DIFF" -gt "$MINDIFF" ]; then
                # echo "rewrite $DIFF $MINDIFF" 
                > "${TMPFILE}"
                for dev in wlan1 wlan1-1 wlan0 ; do                                            
                        iw dev ${dev} station dump >> "${TMPFILE}"
                done
        fi
else 
        # echo "new"
        for dev in wlan1 wlan1-1 wlan0 ; do      
                iw dev ${dev} station dump >> "${TMPFILE}"
        done
fi

cat "${TMPFILE}" | grep "${GREP_ARG}" | sed "s/${SED_ARG}/\1/"

