Création de script à partir de 3 fichiers
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
Code:
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" |
Avec le code ci-dessous j'entre une date et cela me donne les traitements et sous-traitements + commentaires qui correspondent :
Code:
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 |
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)
Ce sous-traitement est l'élément commun aux trois fichiers dont je dispose en entrée.
Fichier 2
Code:
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 |
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) :
Fichier 3
Code:
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 |
Est-ce que quelqu'un surait quel script pourrait :
- 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 :
Code:
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" |
Si quelqu'un peut me venir en aide :cry: :cry: :cry: :cry:
Thanks