IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Extraction des parties d'un fichier xml


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 151
    Points : 49
    Points
    49
    Par défaut Extraction des parties d'un fichier xml
    Bonjour,

    Je veux créer un script shell qui permet d'extraire des parties d'un fichier xml et les mettre dans un autre fichier csv comme output.

    Exemple d'un fichier xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0"?><a><b><c>valeur1</c></b></a>
    Je veux récupérer valeur1 seulement.


    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Points : 539
    Points
    539
    Par défaut
    Bonjour,
    avec sed
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/^.*<c>//;s/<\/c>.*//' filexml > filecsv
    Cordialement.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par ctac_ Voir le message
    Bonjour,
    avec sed
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/^.*<c>//;s/<\/c>.*//' filexml > filecsv
    Cordialement.
    ça marche très bien. Merci

    Mais j'aimerai trouver une documentation sur le fonctionnement de sed ,

    car j'ai rencontré des signes ^ et * et d'autres que j'arrive pas à les comprendre.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Points : 539
    Points
    539
    Par défaut
    Bonjour,
    1 - Pour commencer man sed
    2 - Ensuite dans ton navigateur favori : rechercher sed
    3 - Essayer sur ton poste sur ton fichier, la sortie se fait sur l'écran et le fichier n'est pas modifié.
    4 - Sur ce site, il y a un tutorial ... en preparation !
    https://www.developpez.net/forums/d1...l/#post7443131
    PS: je ne suis pas un spécialiste en smiley mais c'est juste un clin d'oeil!

    Cordialement.

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par hichem0550 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0"?><a><b><c>valeur1</c></b></a>
    Je veux récupérer valeur1 seulement.
    Citation Envoyé par ctac_ Voir le message
    avec sed
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/^.*<c>//;s/<\/c>.*//' filexml > filecsv
    Compte-tenu des spécifications fournies ci-dessus, il y a plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -o "valeur1" filexml
    voire, plus simple encore:
    C'était juste pour attirer l'attention sur l'importance des spécifications sur la solution proposée...

Discussions similaires

  1. extraction des données à partir du fichier xml
    Par Ftina dans le forum Général Python
    Réponses: 0
    Dernier message: 26/03/2017, 21h00
  2. extraction des attributs depuis un fichier XML
    Par pacomou dans le forum kettle/PDI
    Réponses: 4
    Dernier message: 12/12/2011, 11h51
  3. [débutant]extraction des données d'un fichier xml simple
    Par ekram dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 14/03/2007, 12h24
  4. Réponses: 3
    Dernier message: 13/12/2004, 13h54
  5. [debutant] preservation des espace dans un fichier xml
    Par Eric B dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 03/09/2003, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo