Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/10/2011, 15h33   #1
Membre du Club
 
Inscription : juillet 2002
Messages : 156
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 156
Points : 40
Points : 40
Envoyer un message via MSN à foxrol
Par défaut [Shell]Concatener deux fichiers XML

Bonjour
J'aimerais écrire un shell qui concatène deux fichier .xml ainsi:
  1. Dans le premier fichier, le programme doit supprimer la balise de fin.
  2. Dans le second fichier, le programme supprimer l'entête du second fichier et le concaténer au premier (sans saut d'espace), et je bloque à ce niveau.

Merci de m'aider à résoudre ce problème.
foxrol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2011, 17h12   #2
Expert Confirmé Sénior
 
Avatar de Sve@r
 
Homme Frédéric
Ingénieur développement logiciels
Inscription : février 2006
Messages : 3 055
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Âge : 44
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 3 055
Points : 4 934
Points : 4 934
Salut

Vu la façon dont tu décris le problème, pour moi la façon la plus simple de le résoudre est d'utiliser le nombre de lignes. Si on considère que la balise de fin du premier fichier se trouve en dernière ligne et que l'en-tête du second fichier fait 3 lignes, ceci devrait le faire
Code bash :
1
2
3
4
5
#!/bin/sh
nb1=`cat fic1.xml |wc -l`
nb2=`cat fic2.xml |wc -l`
 
(head -$(expr $nb1 - 1) fic1.xml ; tail -$(expr $nb2 - 3) fic2.xml) >fic3.xml

C'est pas super robuste (beaucoup de suppositions sur les caractéristiques des fichiers) mais c'est ce qu'il y a de plus facile à écrire.
__________________
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Tout ce qu'un individu reçoit sans rien faire pour l'obtenir, un autre individu a dû travailler pour le produire sans en tirer profit.
Tout Pouvoir ne peut distribuer aux uns que ce qu'il a préalablement confisqué à d'autres car on n'accroît pas les biens en les divisant.
Quand la moitié d'un peuple croit qu'il ne sert à rien de faire des efforts car l'autre moitié les fera pour elle, et quand cette dernière moitié se dit qu'il ne sert à rien d'en faire car ils bénéficieront à d'autres, cela s'appelle le déclin et la fin d'une nation.
Dr. Adrian Rogers, 1931
Sve@r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h47.


 
 
 
 
Partenaires

Hébergement Web