【发布时间】:2021-01-24 16:08:31
【问题描述】:
我尝试使用 Basel 解析我的 dhcpd.lease 文件。一个典型的条目如下所示:
lease 192.168.20.4 {
starts 6 2009/06/27 00:40:00;
ends 6 2009/06/27 12:40:00;
hardware ethernet 00:00:00:00:00:00;
uid 00:00:00:00:00:00;
client-hostname "examle-workstation1";
}
我得到的所有信息都是 MAC,我想要的是 IP 和客户端主机名。但也许,没有客户端主机名。条目如下所示:
lease 192.168.20.5 {
starts 6 2009/06/27 00:40:00;
ends 6 2009/06/27 12:40:00;
hardware ethernet 00:00:00:00:00:00;
}
我的第一个想法是 grep 租用属性、硬件以太网属性和 uid 属性并将它们全部放在一条线上。然后解析它。
但我的问题是,我有一个大文件,在许多文件中分配了许多条目。树看起来像这样:
dhcpd-leases
-- 192.168.20.0
-- 192.168.30.0
-- 192.168.40.0
[...]
我得到的所有信息都是从另一个文件解析到一个列表中的 MAC。所以我从这个列表开始,想用我的 MAC grep 属性 ip,mac:
for ENTRY in $MACLIST
do
VAR$(cat "dhcpd-leases/10.148.$NETWORK.2/dhcpd.leases" | grep -E "$MAC|lease|client-hostname")
echo $VAR
done
但由于 $VAR 中有许多条目,并且文件无法正确解析。
有人可以帮忙吗?
最好的问候 彼得
【问题讨论】: