Script Bash attribution D'IP par adresse mac.

Résolu
altebelixe Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un fichier texte contenant des adresse IP.

Exemple :

#192.168.0.1
#192.168.0.2
#192.168.0.3
#192.168.0.4
#192.168.0.5
#192.168.0.6
#192.168.0.7
#192.168.0.8
#192.168.0.9
#192.168.0.10


J'aimerais avoir un script qui récupere l'adresse mac du pc dans une variable et qui attribue des adresse IP du fichier texte par adresse mac. Ce qui fait que si l'adresse mac est déjà enregistrer dans le fichier texte des ip. le script réattribue la même adresse IP. Pour l'instant le script que j'ai sauvegarde l'adresse ip dans une variable $IP et enlève le # a chaque exécution du script.

Exemple :
$ while read ip; do ip=${ip//#/}; echo $ip; sed -i "s/^#$ip/$ip/" fichier ; done < <(grep -m 1 "^#" fichier)
192.168.0.1

$ cat fichier
192.168.0.1
#192.168.0.2
#192.168.0.3
#192.168.0.4
#192.168.0.5
#192.168.0.6
#192.168.0.7
#192.168.0.8
#192.168.0.9
#192.168.0.10
A voir également:

1 réponse

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
je récupère l'adresse MAC avec
ifconfig -a | awk '/ether/ {print $1}'

j'ai pas tout compris ce qu'il faut faire
pour ajouter l'adresse MAC dans le fichier
$ while read ip; do ip=${ip//#/}; echo $ip; mac=$(ifconfig -a | awk '/ether/ {print $2}'); sed -i "s/^#$ip$/$ip $mac/" fichier ; done < <(grep -m 1 "^#" fichier)
192.168.0.1
$ head fichier
192.168.0.1 08:00:27:27:06:15
#192.168.0.2
#192.168.0.3
#192.168.0.4
#192.168.0.5
#192.168.0.6
#192.168.0.7
#192.168.0.8
#192.168.0.9
#192.168.0.10
0