Récupérer les informations d'une commande (traceroute) pour les stocker dans un fichier
Bonjour,
je souhaiterais récupérer en shell les informations d'une commande (traceroute) pour les stoker dans un fichier.
En fait, j'aimerais que lorsque je lance le script (avec comme paramètre le paramètre de traceroute) cela lance l'execution de traceroute puis récupère certaine information.
Quelqu'un pourrait m'aider?
J'ai commencé ça je sais pas trop si c'est bon
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#Vérifie qu'il y a bien un paramètre
if [ $# -ne 1 ]
then
echo il faut exactement un paramètre!
exit 1
fi
# Vérifier que le paramètre correspond bien à une adresse IP de type 192.168.0.0
#ou un nom (dans le cas ou lui aurait donné un nom dans le fichier hosts)
if [ $1 != 192.168.[0-9][0-9]?[0-9]?.[0-9][0-9]?[0-9]? ] || [ $1 != [aA-zZ]]
then
echo le premier paramère doit-être une adresse IP ou une chaîne de caractère
exit 1
fi
#execution de la commande Traceroute
'./Traceroute $1' > fichier_TR
#Récupération des informations souhaitées après exécution de la commande Traceroute
#Format de la réponse Traceroute:
#1 33 ms 32 ms 33 ms raspail-2-81-57-234-254.fbx.proxad.net [81.57.234.254]
#2 33 ms 33 ms 33 ms vlq-6k-2-a5.routers.proxad.net [213.228.4.254]
#Parcourt chaque ligne du fichier. Pour chaque ligne, awk recherche des données séparées
#entre elles par le champ indiqué dans l'option -F (ici un espace) et les place dans des
#arguments $1 , $2...$n
gawk -F" " $1 fichier_TR > fichier_ID # On récupère toute la colonne 1
gawk -F" " $8 fichier_TR > fichier_DNS # On récupère toute la colonne 8 (adresse)
gawk -F" " $9 fichier_TR > fichier_IP # On récupère toute la dernière colonne (adresse IP) |
merci d'avance
Loïc