Script Bash attribution D'IP par adresse mac.

Résolu/Fermé
altebelixe Messages postés 5 Date d'inscription mercredi 29 avril 2020 Statut Membre Dernière intervention 24 juin 2022 - Modifié le 29 déc. 2021 à 13:30
dubcek Messages postés 18757 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 19 décembre 2024 - 29 déc. 2021 à 16:29
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 18757 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 19 décembre 2024 5 623
Modifié le 29 déc. 2021 à 16:34
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