Traitement de fichier automatisé

Traitement de fichier automatisé - Shell/Batch - Programmation

Marsh Posté le 07-01-2011 à 14:05:39    

Bonjour a tous  :hello:  
 
Bon voila mon problème  :D  
 
Je reçois régulièrement un fichier XML qui contient certaines informations qu'ils faut mettre dans une base de données Mysql, je recherche un moyen qui me permettrai de nettoyer ce fichier afin qu'il ne reste que les informations qui m'intéresse et puis les insérer dans la BDD.
 
Travaillant sur une debian lenny j'ai recherché un outil qui m'aiderai pour cette automatisation, je suis tombé sur AWK mais après avoir lu la doc j'ai pas l'impression qu'il me soit d'une grande aide  :sweat:  
http://nyal.developpez.com/tutoriel/gawk/gawk.pdf
 
Connaissez vous un moyen qui me permettrai de faire cela ?
 
Merci  :jap:


Message édité par bobl'eponge le 18-01-2011 à 15:09:09
Reply

Marsh Posté le 07-01-2011 à 14:05:39   

Reply

Marsh Posté le 07-01-2011 à 14:19:05    

Je dirais que ca depends de la complexite de ton fichier xml, et du traitement que tu as besoin de faire.
 
Si c'est plus complique que filtrer certains lignes / champs (tu devrais t'en sortir avec sed et/ou awk - poste ce que tu n'arrives pas a faire), je me dirigerais vers un langage type python ou perl qui possede des modules pour faciliter le traitement des fichiers XML (tu pourras egalement faire l'insert en base de donnees directement depuis ce script)

Reply

Marsh Posté le 07-01-2011 à 14:40:53    

Merci de ta réponse a premier vu Sed va pas mal m'aider.
 
En ce qui concerne la complexité du fichier j'ai pas l'impression qu'elle soit trop élever (mais bon je peux me tromper je suis loin d'etre un expert  :whistle: ) puisque les données qui m'intéresse sont a des lignes précise et toujours entouré de la même façon.
 
Encore merci  :jap:

Reply

Marsh Posté le 07-01-2011 à 19:33:19    

Un coup de XSLT pour ne garder que ce qui t'intéresse en sortie?
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 16-01-2011 à 19:50:46    

Bon j'ai pas mal avancé !  :pt1cable:  
 
 
A partir du xml j'ai généré 2 fichiers qui continent mes données
 
le premier est nickel filtré grâce a grep et sed
 
Mais je suis bloqué sur le second  
 
Chaque ligne du second fichier est constitué ainsi  

Code :
  1. Chaine de caractère a longueur variable début de la partie qui m'intéresse chaine a longueur variable qui m'intéresse fin de la partie qui m'intéresse chaine de caractère a longueur variable


Les partie verte sont toujours les même
 
Je voudrai supprimer les partie rouge mais vu qu'elle ne sont jamais les même je sais pas quoi faire  
 
Si vous avez une idée n'hésite pas
 
 
Merci  :jap:


Message édité par bobl'eponge le 16-01-2011 à 19:53:51
Reply

Marsh Posté le 18-01-2011 à 15:09:14    

up

Reply

Marsh Posté le 18-01-2011 à 17:46:00    

Salut

 
Code :
  1. sed 's/^.*debut_chaine\(.*\)fin_chaine.*$/\1/' ton_fichier
 

devrait répondre a ton besoin je pense.
bien sur debut_chaine et fin_chaine correspondent à tes parties vertes

 

EDIT : attention ca supprime aussi les parties vertes ;) mais vu que tu les connais tu peux les ajouter avant et apres le \1 ou alors protéger ton debut_chaine et fin_chaine avec des \( \) et mettre dans la 2eme partie du sed des \1\2\3


Message édité par Nukolau le 18-01-2011 à 17:48:29
Reply

Marsh Posté le 18-01-2011 à 20:10:51    

Mille milliard de Merci  [:cacatomique:2]  
 
et le lien qui va avec  
http://www.koreus.com/animation/million-thanks.html

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed