Salida formateada de "iwlist scan" en la fonera


Este script muestra una salida del comando iwlist scan
solo con los datos señal, BSSID, ESSID, encriptación y canal.
La idea original surgió de un script en bash proporcionado por ErNi_;
una vez destrozado por mi para hacerlo andar en ash, así quedó:

#!/bin/ash
IFACE="ath1"
# Ficheros temporales
ARCHIVO=/tmp/iwlist_scan.txt
bssids=/tmp/bssids.txt
signal=/tmp/signal.txt
ch=/tmp/ch.txt
enc=/tmp/enc.txt
essid=/tmp/essid.txt

printf "BSSID SIGNAL CH ESSIDn"

/usr/sbin/iwlist $IFACE scan > $ARCHIVO
LINEAS_ARCHIVO=$(wc -l < $ARCHIVO)

grep "Address" $ARCHIVO | cut -d' ' -f15 > $bssids
grep "Signal" $ARCHIVO | cut -d'-' -f2 | cut -d' ' -f1 > $signal
grep "Frequency" $ARCHIVO | cut -d' ' -f24 | cut -d')' -f1 > $ch
grep "ESSID" $ARCHIVO | cut -d'"' -f2 > $essid
lineas=$(wc -l < $bssids)

for i in $(seq 1 $lineas); do

BSSID=$(sed -n ''$i' p' $bssids)
ESSID=$(sed -n ''$i' p' $essid)
SIGNAL=$(sed -n ''$i' p' $signal)
CHANNEL=$(sed -n ''$i' p' $ch)
printf "%s -%s dBm %2s %sn" $BSSID $SIGNAL $CHANNEL $ESSID
done
printf "iwlist scan completo = %s lineas.n" $LINEAS_ARCHIVO


No hay comentarios: