Existem três etapas aqui
-
Apenas extraia nomes de portas ativos do netstat
netstat -an | grep 127.0.0.0.1: | awk -F "[ :]+" '{print $5}'
o awk
especifica o grupo de espaços e dois pontos como separadores e seleciona apenas o id da porta.
-
Compare essas portas do arquivo de lista de dispositivos (digamos, denominado
device_list.txt
), usando grep e output do comando na etapa 1 como padrãonetstat -an | grep 127.0.0.0.1: | awk -F "[ :]+" '{print $5}' | grep -f - device_list.txt
Isso gerará uma saída como essa
NORTH:6001
SOUTH:6002
EAST:6003
-
As conexões inativas podem ser obtidas usando
-v
no grepnetstat -an | grep 127.0.0.0.1: | awk -F "[ :]+" '{print $5}' | grep -v -f - device_list.txt
A saída disso é
WEST:6004
Você pode, então, criar um script em torno do texto acima para imprimir em qualquer formato que desejar