I Essayez d'analyser mon fichier dhcpd.lease avec Basel. Une entrée typique ressemble à ceci:Analyser un fichier dhcpd.lease avec Bash
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";
}
Toutes les informations que je reçois est le MAC et ce que je veux ist l'adresse IP et le nom du client. Mais peut-être, il n'y a pas de nom de client-hostname. L'entrée ressemble à ceci:
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;
}
Ma première idée était de grep l'attribut de location, l'attribut Ethernet matériel et l'attribut uid et putt tout sur une seule ligne. Et puis analyser.
Mais mon problème est, j'ai un gros fichier avec de nombreuses entrées allouées dans de nombreux fichiers. L'arbre ressemble à ceci:
dhcpd-leases
-- 192.168.20.0
-- 192.168.30.0
-- 192.168.40.0
[...]
Et tout ce que je reçois ist les MACs analysés d'un autre fichier dans une liste. Donc, je commence avec cette liste et que vous souhaitez grep l'ip Attributs, mac avec mon 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
Mais en raison des nombreux entrys dans le VAR $ et les fichiers im incapable de parser à droite.
Est-ce que somenone peut aider?
Meilleures salutations Peter
Merci. Fonctionne bien. :) – fwaechter