Bonjour,
Je dois créer un script qui collecte des données à partir de 3 fichiers csv en entrée.
Le premier fichier est un planning avec des dates et pour chaque date des traitements et sous-traitements avec commentaires tout cela sur 4 champs séparés par des ;
Fichier 1
Avec le code ci-dessous j'entre une date et cela me donne les traitements et sous-traitements + commentaires qui correspondent :
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 01/12/2010;;; Action_1;"XXXZZ24";Comment1;"Comment2" Action_2;"XXXZZ25";Comment1;"Comment2" Action_3;"XXXZZ26";Comment1;"Comment2" Action_4;"XXXZZ27";Comment1;"Comment2" Action_5;"XXXZZ28";Comment1;"Comment2" Action_6;"XXXZZ29";Comment1;"Comment2" Action_7;"XXXZZ30";Comment1;"Comment2" 02/12/2010;;; Action_8;"XXXZZ31";Comment1;"Comment2" Action_9;"XXXZZ32";Comment1;"Comment2" Action_0;"XXXZZ33";Comment1;"Comment2" Action_1;"XXXZZ24";Comment1;"Comment2" Action_5;"XXXZZ35";Comment1;"Comment2" Action_6;"XXXZZ36";Comment1;"Comment2" Action_2;"XXXZZ25";Comment1;"Comment2"
J'ai ensuite un autre fichier qui contient une liste des traitements et sous traitements (un traitement peut correspondre à plusieurs sous-traitements - ex: Action_1 correspond à XXXZZ24 et XXXZZ44)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 awk 'BEGIN{printf("Entrez la date : "); getline date < "-"} $0 ~ date {f=1;print;next} /^[0-9]{2}\//{f=0} f' fichier1.csv
Ce sous-traitement est l'élément commun aux trois fichiers dont je dispose en entrée.
Fichier 2
Enfin, le troisième fichier dont je dispose est un fichier externe résultant du passage de ces traitements à une date donnée (avec heures d'exécution et codes retour au 7è champ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Action_1; XXXZZ24 Action_1; XXXZZ44 Action_2; XXXZZ25 Action_6; XXXZZ29 Action_3; XXXZZ26 Action_7; XXXZZ30
Fichier 3
Est-ce que quelqu'un surait quel script pourrait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 "2010/12/02 12:31:54 End of job";;;;;;;;; LANCEUR;XXX7724;02/12/2010;12:31:22;02/12/2010;12:32:01;0;;Comment;Traces
- demander une date (ça j'ai déjà)
- Afficher les traitements et sous-traitements correspondant à la date entrée (j'ai aussi)
- afficher ensuite les traitements et sous-traitements correspondants à partir du fichier 2
- enfin, faire matcher le résultat de l'assemblage des deux premiers fichiers pour afficher à partir du dernier les traitements et les sous-traitements (avec code retour et heures d'exécution pour chaque traitement)
Le résultat serait :
Si quelqu'un peut me venir en aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Au 02/12/2010 : "XXX7724" de "Action_1" exécutée OK ou non (en fonction du code retour 0 : OK, 1 : anormal, 3 : KO) démarré à "hh:mm:ss" et terminé à "hh:mm:ss"![]()
![]()
![]()
Thanks
Partager