Classificando o dhcpd.conf

2

Temos um servidor dhcpd compartilhado no qual definimos IPs fixos para nossos servidores de área restrita. Devido às limitações da sub-rede que não podemos evitar, somos obrigados a ter um pequeno e limitado intervalo de endereços IP estáticos para atribuir.

Devido a este e outros colegas de trabalho adicionar / remover hosts do arquivo dhcpd.conf , ele é bastante longo e confuso agora e deve ser resolvido.

Como todas as declarações de ip seguem esse padrão:

host foo {
  hardware ethernet 00:00:00:00:00:00;
  fixed-address 192.168.192.X;
}

Isso pode ser feito com awk ? Se sim, como? Eu nunca tentei algo complexo com isso.

    
por Navarro 14.03.2017 / 10:25

1 resposta

2

Sim, isso pode ser feito com awk :

BEGIN { RS = "}"; }
{
    match($0, /fixed-address ([^;]+);/, array);
    data[array[1]] = $0;
}
END {
    n = asorti(data, dest);
    for (i = 1; i <= n; i++) {
        print data[dest[i]] RS;
    }
}
    
por 14.03.2017 / 11:46

Tags