Eu tenho um script feio que pode responder às suas necessidades. A ideia é:
- armazene as estatísticas da interface em um arquivo
- leia o arquivo linha por linha
- se a linha contiver RX (resp TX), isso significa que a linha a seguir contém informações que você deseja analisar.
O script:
#!/bin/bash
ip -s link ls $interface > ip_stats
RX=0
TX=0
# read file
while read LINE
do
# read RX info form line
if [ $RX -eq 1 ]
then
RX_packets=$(echo $LINE | awk '{print $1}')
RX_bytes=$(echo $LINE | awk '{print $2}')
fi
# see if next line will contain RX stats
if echo $LINE | grep RX
then
RX=1
else
RX=0
fi
# read TX info form line
if [ $TX -eq 1 ]
then
TX_packets=$(echo $LINE | awk '{print $1}')
TX_bytes=$(echo $LINE | awk '{print $2}')
fi
# see if next line will contain TX stats
if echo $LINE | grep TX
then
TX=1
else
TX=0
fi
done < ip_stats
echo RX_packets is $RX_packets
echo TX_packets is $TX_packets
echo RX_bytes is $RX_bytes
echo TX_bytes is $TX_bytes
# make diff
echo packets diff: $(expr $RX_packets - $TX_packets )
echo bytes diff: $(expr $RX_bytes - $TX_bytes )