![排序 dhcpd.conf](https://linux22.com/image/107509/%E6%8E%92%E5%BA%8F%20dhcpd.conf.png)
我们有一个共同的dhcpd我们为沙盒服务器设置固定 IP 的服务器。由于子网的限制,我们无法避免被迫分配有限且小范围的静态 IP 地址。
由于此人和其他同事从dhcpd.conf
文件中添加/删除主机,因此现在文件相当长且混乱,应该对其进行整理。
由于所有 ip 声明都遵循以下模式:
host foo {
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.168.192.X;
}
这可以用 来完成吗awk
?如果是这样,怎么办?我从来没有尝试过用它来完成如此复杂的事情。
答案1
是的,这可以通过以下方式完成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;
}
}