Commande [Réglé]

loiCiol Membre non connecté
-
- Voir le profil du membre loiCiol
- Inscrit le : 28/07/2013
Reprise du message précédent
Jybz :
Je n'ai rien reçu.
A quelle adresse mail je te les envoie ?

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

loiCiol Membre non connecté
-
- Voir le profil du membre loiCiol
- Inscrit le : 28/07/2013
As-tu reçu les fichiers que je t'ai envoyés ?

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Donc je serais malheureusement d'un ton expéditif.
Le truc qui a généré le fichier GPX à un bug. Il répète le champ extension 80 fois !
J'ai donc fait un script qui supprimes les champs extensions qui se répètes.
Le voici :
Code BASH :
#!/bin/bash #Vérification que le premier argument est donné. if [ "${1}x" = "x" ]; then echo "Le premier argument est manquant, il est nécessaire de spécifier le fichier à traiter." >&2 exit -1 else FICHIER_GPX="${1}" fi #Vérification que le fichier existe. if [ ! -e ${FICHIER_GPX} ]; then echo "Le fichier précisé en argument n'existe pas !" >&2 exit -1 fi #Récupération du nom de fichier FICHIER_NOM=$(basename ${FICHIER_GPX}) FICHIER_NOM_EXTLESS=$(echo "${FICHIER_NOM}" | sed -e 's/\.[[:alnum:]]*$//') #Définition d'un nom de fichier en sortie, soit par le second argument si existant, soit en ajoutant _propre if [ "${2}x" = "x" ]; then NOM_SORTIE="${FICHIER_NOM_EXTLESS}_propre.gpx" else NOM_SORTIE=${2} fi #Fichier temporaire TMP_GPX=$(mktemp) #Suppression de tous les retours à la ligne, on a un fichier d'une seule et unique ligne. cat ${FICHIER_GPX} | tr -d '\n' | tr -d '\r' >${TMP_GPX} #Suppression de tous les espaces avant les balises sed -i -e 's/[[:space:]]*</</g' ${TMP_GPX} #On met à la ligne toutes les références à la balise extension, mais la dernière balise extension prends aussi à la fin de sa suite le reste, donc on met aussi à la ligne la fin de toutes les références à la balise fermant extension. Ça rajoute une ligne vide entre chaque extensions. sed -i -e 's/<extensions>/\n<extensions>/g' -e 's/<\/extensions>/<\/extensions>\n/g' ${TMP_GPX} #Suppression de ces lignes vides. sed -i -e '/^[[:space:]]*$/d' ${TMP_GPX} #Pour supprimer TOUTES les extensions, décommenter la ligne suivante. #sed -i -e '/^<extensions>/d' ${TMP_GPX} #Avec uniq, on supprime toutes les lignes identiques, donc toutes les champs extensions identiques. #Avec xmllint, on remet le retour à la ligne à chaque balise ainsi que l'indentation. cat ${TMP_GPX} | uniq | xmllint --format - > ${NOM_SORTIE} #Pour supprimer une des extensions suivantes, décommenter la ligne. #sed -i -e '/^[[:space:]]*<gpxx:/d' ${NOM_SORTIE} #sed -i -e '/^[[:space:]]*<wptx1:/d' ${NOM_SORTIE} #sed -i -e '/^[[:space:]]*<ctx:/d' ${NOM_SORTIE} echo "Le nouveau fichier fait $(cat ${NOM_SORTIE} | wc -l) lignes, tandis que l'originale faisait $(cat ${FICHIER_GPX} | wc -l) lignes." >&2 #Suppression du fichier temporaire. rm -f ${TMP_GPX} exit 0
D'après ton fichier, je pense que la première erreur est la grande taille, mais je ne peux pas le vérifier. Comment as tu eu ses erreurs ? Avec quelle commande ou quel logiciel ?
Pour la seconde erreur, j'ai l'impression que ton logiciel ne supporte pas l'extension gpxx, donc j'ai ajouté 4 lignes de code à décommenter si tu en a besoin.
Une première pour supprimer toutes les extensions et basta.
Une seconde, troisième et quatrième pour supprimer respectivement l'extension gpxx, wptx1 et ctx.
Exemple d'utilisation du script :
Code BASH :
[jybz@localhost envoi]$ ./script.sh ./DonneesDeForet.gpx Le nouveau fichier fait 522 lignes, tandis que l'originale faisait 16922 lignes.
Par défaut, le script créer un fichier avec le même nom de fichier que le premier argument, avec un suffixe _propre.
Il est possible de changer ce nom avec le deuxième argument.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Code BASH :
[jybz@localhost envoi]$ ll 2\ erreurs.odt 2\ erreurs.txt -rw-rw-r-- 1 jybz jybz 8878 juil. 22 15:05 '2 erreurs.odt' -rw-rw-r-- 1 jybz jybz 218 juil. 28 22:52 '2 erreurs.txt' [jybz@localhost envoi]$ echo $((8878/218)) 40
Le fichier odt fait 40 fois la taille d'un fichier texte pour aucune information supplémentaire. Il est difficile de l'ouvrir sur un téléphone contrairement à un fichier texte. On peut aussi l'ouvrir dans une terminal, c'est plus compliqué avec un odt.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Pourquoi passer par un "${1}x = x" pour tester le nombre d' arguments ?
Il n' y a pas une variable spécifique Bash pour connaitre le nombre d' arguments envoyés ? $# par exemple ?
Sinon, je me dis qu' un jour, il faudra que je me penche sur sed et awk !

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
en fait, plusieurs chemins mènent à Rome. On pouvait tester le nombre d'argument avec ${#} c'est vrai. Et je l'ai oublié. Je suis passé par cette méthode car dernièrement, j'ai beaucoup travaillé sur les variables (voir le topic avec le bashrc, pour envoyer des emails), comment savoir si une variable est définie pleine, définie vide, non définie https://stackoverflow.com/a/16753536 )
D'ailleurs, j'avais essayé de faire cette méthode https://stackoverflow.com/a/13864829 mais finalement, j'ai eu une mauvaise mémoire.
Lorsqu'un script est fort complexe avec des arguments comme --data="mes data" --destinataires="mon oncle" ..., il n'est pas utile de regarder le nombre d'argument, mais on procède à chacun des arguments, et après, on regarde si le minimum des variables nécessaires sont définies.
Mais oui, sed, c'est intéressant. Je devrais aussi me mettre à awk, mais trop compliqué. ^^
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

loiCiol Membre non connecté
-
- Voir le profil du membre loiCiol
- Inscrit le : 28/07/2013
Jybz :
D'après ton fichier, je pense que la première erreur est la grande taille, mais je ne peux pas le vérifier. Comment as tu eu ses erreurs ? Avec quelle commande ou quel logiciel ?
Autan que je me souvienne c'est Dolphin lui-même : en cliquant sur le fichier : la première erreur s'affiche, puis au second clic la senonde erreur s'affiche.
Mais je suis incapable de le reproduire !
En principe google earth est capable d'ouvrir un tel fichier.
Est-ce que Magia-7 propose un package de ce logiciel ?
Je l'ai cherché, et ne l'ai pas trouvé.
Édité par loiCiol Le 29/07/2020 à 13h45

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Pour Google Earth, il n' y a pas de paquet dans les dépots Mageia.
Je pense qu' il faut aller le chercher directement chez Google.
Il y a un article sur le wiki (je n' ai pas testé).
https://www.mageialinux-online.org/wiki/wiki.php?title=installer-les-depots-miroirs-de-google
Édité par nic80 Le 29/07/2020 à 19h25

loiCiol Membre non connecté
-
- Voir le profil du membre loiCiol
- Inscrit le : 28/07/2013
Je le teste demain !
Mille mercis.

loiCiol Membre non connecté
-
- Voir le profil du membre loiCiol
- Inscrit le : 28/07/2013
nic80 :
Pour Google Earth, il n' y a pas de paquet dans les dépots Mageia.
Je pense qu' il faut aller le chercher directement chez Google.
Il y a un article sur le wiki (je n' ai pas testé).
https://www.mageialinux-online.org/wiki/wiki.php?title=installer-les-depots-miroirs-de-google
Merci nic80.Pour Google Earth, il n' y a pas de paquet dans les dépots Mageia.
Je pense qu' il faut aller le chercher directement chez Google.
Il y a un article sur le wiki (je n' ai pas testé).
https://www.mageialinux-online.org/wiki/wiki.php?title=installer-les-depots-miroirs-de-google
Je regarde ça demain.

loiCiol Membre non connecté
-
- Voir le profil du membre loiCiol
- Inscrit le : 28/07/2013
J'ai tenté d'importer DonnéesdeForêt_propre.gpx.
J'ai eu le message d'erreur
Citation :
C'est toujours la même erreur !
C/Users/Documents/Waypoints/DonnéesdeForêt_propre.gpx
Erreur
Erreur inconnue du fichier d'importation.
Erreur
Erreur inconnue du fichier d'importation.
Édité par loiCiol Le 30/07/2020 à 12h01

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Il faudrait tenter de décommenter la ligne :
Code BASH :
#sed -i -e '/^<extensions>/d' ${TMP_GPX}
En enlevant le croisillon au début de ligne. Ça supprimera toutes les extensions. Puis il faut retenter l'import.
Si ça marche, une des trois extensions porte problème, et on pourra réactiver les extensions et les supprimer une à une. Si ça ne marche pas, le problème est dans l'application ?
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

loiCiol Membre non connecté
-
- Voir le profil du membre loiCiol
- Inscrit le : 28/07/2013
loiCiol :
[quote=Jybz]
Mais je suis incapable de le reproduire.
Mais je suis incapable de le reproduire.
J'ai pu reproduire cette erreur. Il faut partir de Mageia-7 et ouvrir les fichiers de windows. Aller ouvrir le répertoire concerné.
C'est alors que le premier message d'erreur apparait :
Citation :
Parsing failed line 832. Still 2 unclosed tag(s) after document end. Unexpected '>'.
Un clic sur OK et le second message d'erreur apparait :
Citation :
Parsing failed line 23. Still 3 unclosed tag(s) after document end. Le préfixe d'espace de noms "gpxx" n'a pas été déclaré
Ce que j'ai pris pour une erreur sur le fichier DonnéesdeForêt de Montaud.gpx ne désignait aucun fichier particulier.
Édité par loiCiol Le 30/07/2020 à 11h55

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Ces messages arrivent quand le fichier est ouvert dans l' application ou juste quand le répertoire est parcouru ?
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie