Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2570 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Concaténer contenus fichiers xml

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Concaténer contenus fichiers xml

n°2036393
nicomes
Posté le 16-11-2010 à 15:58:09  profilanswer
 

Bonjour,
 
J'ai un répertoire qui contient n fichiers xml correspondant à dossier traité. Chaque dossier traité correspond 2 fichiers xml. J'ai donc :
 
Exxxxx1.xml
Dxxxxx1.xml
Exxxxx2.xml
Dxxxxx2.xml
....
....
Exxxxx25.xml
Dxxxxx25.xml
 
Je dois concaténer les fichiers Exxxx1+Dxxxx1 ensemble en un seul fichier et ainsi de suite pour les autres couples. J'ai trouvé quelque chose, mais j'ai tout les fichiers concaténé en un seul... Or je dois obtenir au final un fichier xml unique par couple (par dossier traité). Comment faire en shelle en parcourant le répertoire (il n'y aura jamais de sous répertoires).
 
Merci pour votre aide.
@+ tard

mood
Publicité
Posté le 16-11-2010 à 15:58:09  profilanswer
 

n°2036418
pataluc
Posté le 16-11-2010 à 17:14:55  profilanswer
 

salut,

 

tu devrais pouvoir t'en sortir avec un for et un seq:

Code :
  1. for f in $(seq 1 25)
  2. do cat *${f}.xml >> ${f}.xml
  3. done
 

(dans les grosses mailles, hein! je te laisse affiner, notamment le cat pour que cat *1 ne ramene pas *11, etc).

 

++

Message cité 1 fois
Message édité par pataluc le 16-11-2010 à 17:15:13
n°2036419
kadreg
profil: Utilisateur
Posté le 16-11-2010 à 17:16:43  profilanswer
 

ca va pas donner du XML bien formé ca :/

 

nicomes, es tu sur qu'il faille VRAIMENT concatener les fichier :??: Parce que ca va donner un fichier XML invalide, donc pas exploitable par les parseurs XML classiques

Message cité 1 fois
Message édité par kadreg le 16-11-2010 à 17:17:45

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°2036507
nicomes
Posté le 17-11-2010 à 07:38:34  profilanswer
 

pataluc a écrit :

salut,
 
tu devrais pouvoir t'en sortir avec un for et un seq:

Code :
  1. for f in $(seq 1 25)
  2. do cat *${f}.xml >> ${f}.xml
  3. done


 
(dans les grosses mailles, hein! je te laisse affiner, notamment le cat pour que cat *1 ne ramene pas *11, etc).
 
++


 
Salut,
 
Merci pour la réponse, mais ça ne va pas, il se mélange complétement. Il faut réunir Exxxx1 et Dxxxx1 dans le même fichier xml, dans cet ordre (d'abord le fichier qui commence par E puis l'autre par D). Comment lui indiquer le bon ordre ?  
 
Merci pour ton aide.
@+ tard

n°2036508
nicomes
Posté le 17-11-2010 à 07:39:21  profilanswer
 

kadreg a écrit :

ca va pas donner du XML bien formé ca :/
 
nicomes, es tu sur qu'il faille VRAIMENT concatener les fichier :??: Parce que ca va donner un fichier XML invalide, donc pas exploitable par les parseurs XML classiques


 
Salut,
 
Oui ne t'inquiète pas, la concaténation des 2 donnera un fichier XML valide c'est sûr et certain, sinon je ne me lancerais pas dans ce problème !
 
Merci.
@+

n°2036565
nicomes
Posté le 17-11-2010 à 11:39:05  profilanswer
 

C'est Ok, problème résolu.
Merci pour le coup de main pataluc, ça m'a bien aidé.
 

n°2036568
pataluc
Posté le 17-11-2010 à 11:41:11  profilanswer
 

nicomes a écrit :


 
Salut,
 
Merci pour la réponse, mais ça ne va pas, il se mélange complétement. Il faut réunir Exxxx1 et Dxxxx1 dans le même fichier xml, dans cet ordre (d'abord le fichier qui commence par E puis l'autre par D). Comment lui indiquer le bon ordre ?  
 
Merci pour ton aide.
@+ tard


 
ben tu enchaines

Code :
  1. cat E${f}.xml >> ${f}.xml
  2. cat D${f}.xml >> ${f}.xml


au lieu de

Code :
  1. cat *${f}.xml >> ${f}.xml


:spafamote:
 

nicomes a écrit :


 
Salut,
 
Oui ne t'inquiète pas, la concaténation des 2 donnera un fichier XML valide c'est sûr et certain, sinon je ne me lancerais pas dans ce problème !
 
Merci.
@+


 
la je suis en phase avec kadreg, un fichier xml valide commence par un prologue

Code :
  1. <?xml version="1.0"?>

et comporte un seul élément racine... en concaténant, tu va avoir 2 prologues et 2 fois le même élément racine... il faudra penser à en jarter un avec un grep -v par exemple, et a mettre un nouvel élément racine autour des 2 autres...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Concaténer contenus fichiers xml

 

Sujets relatifs
htaccess - bloquer le téléchargement de fichiersMacro pour compiler des fichiers en tableaux et generer les graphes
Applet Java de tranfert de fichiers via ssh[VBA] Problème lors de l'ouverture des fichiers
VBA Excel - concatener en fonction d'un Tag[VBA] fusionner 2 fichiers XML
Find + printf + contenu du fichierSelectionner un fichier tous les N fichiers
supprimer des fichiers dans un repertoire selon leur anciennetéextraction de contenus d'un fichier texte
Plus de sujets relatifs à : Concaténer contenus fichiers xml


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR