#1 Le 05/10/2018, à 16:44
- Roger-Gabriel
Utilisation de sed transformer 2 fichiers GPX , les fusionner(Résolu)
Je cherche avec sed à fusionner 2 fichiers gpx pour en faire un seul.
Transformation du premier fichier GPX on supprime la fin du fichier :
sed '/<\/trkseg>/,/<\/gpx>/d' mon 1 fichier
Les \ permettent d'échapper les / des balise xml.
Transformation du deuxième fichier GPX on supprime la début du fichier :
sed '/<?xml/,/<trkseg>/d' mon 2 fichier
Je voudrais ajouter le résultat de la première commande à celui de la seconde afin de faire un fichier.
J'ai fait des recherches sur internet et je n'ai pas trouvé de réponses satisfaisantes.
Dernière modification par Roger-Gabriel (Le 24/04/2019, à 12:52)
Hors ligne
#2 Le 05/10/2018, à 17:36
- pingouinux
Re : Utilisation de sed transformer 2 fichiers GPX , les fusionner(Résolu)
Bonjour,
Pour concaténer les deux fichiers modifiés en un seul :
commande_1 >fichier_resultat
commande_2 >>fichier_resultat
Hors ligne
#3 Le 05/10/2018, à 17:39
- Watael
Re : Utilisation de sed transformer 2 fichiers GPX , les fusionner(Résolu)
salut,
{ commande1; commande2;} > fichier
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 05/10/2018, à 20:08
- Roger-Gabriel
Re : Utilisation de sed transformer 2 fichiers GPX , les fusionner(Résolu)
Cela m'a l'air simple.
Je vais essayer demain matin.
Merci pour les réponses.
Hors ligne
#5 Le 06/10/2018, à 15:43
- diesel
Re : Utilisation de sed transformer 2 fichiers GPX , les fusionner(Résolu)
Pour la version de Watael, attention de ne pas oublier le ";" avant l'accolade fermante.
Amicalement.
Jean-Marie
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#6 Le 08/10/2018, à 16:36
- claudius01
Re : Utilisation de sed transformer 2 fichiers GPX , les fusionner(Résolu)
Hors ligne
#7 Le 08/10/2018, à 18:07
- Zakhar
Re : Utilisation de sed transformer 2 fichiers GPX , les fusionner(Résolu)
Exact, un petit coup de xlstproc (installé de base) avec une transfo XSLT est le plus pertinent.
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#8 Le 24/04/2019, à 12:32
- Roger-Gabriel
Re : Utilisation de sed transformer 2 fichiers GPX , les fusionner(Résolu)
Je me suis trouvé avec un problème similaire et je suis repassé par là.
J'ai vu que claudius01 était passé par là lui aussi.
"Sauf erreur de ma part, 2 fichiers Gpx (comme tout fichier Xml qui se respecte) ne se fusionnent pas de cette manière.."
Il a raison dans le cas général, là il s'agit de parcours que l'on peut mettre bout à bout sans recouvrement, La commande
{ sed '/<\/trkseg>/,/<\/gpx>/d' mon 1 fichie; sed '/<?xml/,/<trkseg>/d' mon 2 fichier;} > fichier1+2
marche. le fichier est accepté par un gps Garmin.
Cependant il est possible que des choses soient fausses dans les entêtes.
Maintenant j'ai trouvé la commande avec gpsbabel pour fussionner 2 fichiers :
gpsbabel -i gpx -f fichier1.gpx -f fichier2.gpx -o gpx -F fichier1+2.gpx
La commande sed pour supprimer les balises ele :
sed '/<ele>/,/<\/ele>/d' monfichier >monfichierS
La commande sed pour supprimer les balises time et les lignes vides :
sed -i '/<time>/d;/^$/d' monfichier
la 1° commande n'écrase pas le fichier "monfichier" elle crée un nouveau fichier "monfichierS"
la 2° modifie "monfichier"
Il est possible que des commandes existent aussi avec gpsbabel qui produisent la même chose.
Dernière modification par Roger-Gabriel (Le 28/04/2019, à 11:15)
Hors ligne