Pinger des machines

Résolu/Fermé
linuxnoob - 13 oct. 2009 à 16:59
 linuxnoob - 13 oct. 2009 à 17:16
Bonjour,

J'ai une liste d'adresses IP que j'aimerai pinguer...
Pour cela, voici mon script actuel :

for line in $(cat adresses.txt);
do
echo "$line" | cut -d'/' -f1 | ping ??
done

J'ecris la ligne (qui est l'adresse IP + le masque), je ne garde que ce qui est avant "/" (donc je vire le masque),
et maintenant je veux pinguer cette adresse. Mais comment l'appeler ?

Jusqu'au cut tout est parfait, il ne me reste plus qu'a trouver ce qu'il faut rajouter au "ping"

Merci d'avance...

3 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
13 oct. 2009 à 17:05
Salut,

essaie
for line in $(cat adresses.txt);
do
ping -c1 $(echo "$line" | cut -d'/' -f1)
done 
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
13 oct. 2009 à 17:09
Re,

Voici une autre variante (pas de cat)
for ip in $(cut -d'/' -f1 adresses.txt);do ping -c1 $ip;done
0
^^ Génial !!! Merci beaucoup l'ami !!!
0
BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 822
13 oct. 2009 à 17:12
IP_ADDR=$(cat adresses.txt | cut -d'/' -f1)
ping "$IP_ADDR"

Je ne m'y connais pas trop mais je pense que c'est quelquechose comme ça.
Tu dois lire la ligne avec l'IP "cat adresses.txt" , découper cette ligne pour ne garder que l'IP "cut -d'/' -f1", et l'enregistrer dans une variable IP_ADDR
0