我試着用巴塞爾解析我的dhcpd.lease文件。一個典型的條目是這樣的:用Bash解析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。所以,我開始與這個名單,並希望到grep屬性IP,MAC與我的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許多entrys和文件的即時通訊無法解析出來的權利。
can somenone help?
問候 彼得
謝謝。效果很好。 :) – fwaechter 2010-01-27 14:02:44