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 : Sélectionner tout - Visualiser dans une fenêtre à part
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