Enviado em 12/06/2018 - 16:44h
Ola, tenho um script que lé o Dhcpd.leases, e faz filtros de acordo com os nome de cada host se for Android fixa em outro ip se for pc joga em outra faixa e assim por diante. Porem ele tem o seguinte problema. Quando no dhcpd.leases não tem o nome do host ele pega do próximo. Exemplo no host 1 pega o ip, mac mas falta o nome do host, ai ele avança para o proximo que tenha um nome de host pega essa informação, e vai para o seguinte para pegar o IP. Nâo consegui liminar para o blocos que são lease IP { (abre o bloco e } que fecha o bloco.
Parte do script
awk '
/lease/{IP=$2};
/hardware/{MAC=substr($3,0,length($3)-1);}
/hostname/{HOST=substr($2,2,length($2)-3);}{fim=$1};
{printf("%s %s %s \n",HOST,MAC,fim)};
' $LISTDISP > "$DIR"dispositivos.tmp;
while read LINHA; do
HOST=$(echo $LINHA | awk '{print $1}');
MAC=$(echo $LINHA | awk '{print $2}');
MAC2=$(sed -e 's/://g' <<< $MAC); #Remove os dois pontos.
Alguém com mais experiencia conseguiria me ajudar ?
Parte do script
awk '
/lease/{IP=$2};
/hardware/{MAC=substr($3,0,length($3)-1);}
/hostname/{HOST=substr($2,2,length($2)-3);}{fim=$1};
{printf("%s %s %s \n",HOST,MAC,fim)};
' $LISTDISP > "$DIR"dispositivos.tmp;
while read LINHA; do
HOST=$(echo $LINHA | awk '{print $1}');
MAC=$(echo $LINHA | awk '{print $2}');
MAC2=$(sed -e 's/://g' <<< $MAC); #Remove os dois pontos.
Alguém com mais experiencia conseguiria me ajudar ?