Não há um único comando para fazer isso. No entanto, você poderia usar isso:
eval $( \
iwconfig wlan0 | \
egrep -o 'Bit Rate=[0-9]+ [^ ]+' | \
sed -e 's/ /_/;s/=/="/;s/$/"/' \
)
echo $Bit_Rate
No meu sistema, atualmente, recebo:
$ eval $(iwconfig wlan0 | egrep -o 'Bit Rate=[0-9]+ [^ ]+' | sed -e 's/ /_/;s/=/="/;s/$/"/')
$ echo $Bit_Rate
54 Mb/s
iwconfig wlan0
apresenta um monte de informações sobre wlan0
(experimente e veja).
Em seguida, egrep
corresponde a "Bit Rate="
, seguido por 1 ou mais dígitos, um espaço em branco e 1 ou mais espaços em branco. Por causa da opção -o
, egrep
produz apenas a string correspondente.
sed
, em seguida, altera o primeiro espaço em branco para um sublinhado, o '='
para '="'
e o fim de linha para '"'
, produzindo uma sequência como Bit_Rate="54 Mb/s"
.
eval
interpreta essa cadeia no seu shell atual.
para mais educação, leia
for i in iwconfig egrep sed bash ; do
man $i
done