Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
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 07/06/2011, 14h28   #1
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
Par défaut commande sed suppresion dans XML

Bonjour,

j'ai un xml j'essaye de supprimer une partie de celui-ci avec :

Code :
sed  -n '/<test>manger/,/<\/refaire>/!p' /home/fusion/Desktop/Test/test.xml > /home/fusion/Desktop/Test/Result.xml
quelqu'un a une idée ?


merci
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 07/06/2011, 14h38   #2
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Sans voir le fichier original difficile de se faire une idée

Par contre sed '/<test>manger/,/<\/refaire>/d' serait peut être plus approprié, non ?
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 07/06/2011, 21h06   #3
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
Par défaut ne marche pas

j'ai essayé ceci :

Code :
sed  -n '/<nom-couteau>essai/,/<\/couteau>/!p' /home/fusion/Desktop/Test/test.xml > /home/fusion/Desktop/Test/Result.xml
et

Code :
sed '/<nom-couteau>essai/,/<\/couteau>/d'

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?xml version="1.0" encoding="iso-8859-1"?>
<test actif="true">
  <date>07/06/2011 08:15</date>
  <tartine type="teste">
    <couteau>
      <nom-couteau>essai</nom-couteau>
      <num-carte>2</num-carte>
    </couteau>
    <couteau>
      <couteau>
        <nom-couteau>cool</nom-couteau>
        <datacouteau quand="de">
          <MU>22</MU>
          <ru>3</ru>
          <index>3</index>
        </datacouteau>
        <datacouteau quand="sa">
          <MU>23</MU>
          <ru>3</ru>
          <index>2</index>
        </datacouteau>
      </couteau>
      <couteau>
        <nom-couteau>tarazer</nom-couteau>
        <datacouteau quand="de">
          <MU>23</MU>
          <ru>3</ru>
          <index>5</index>
        </datacouteau>
        <datacouteau quand="sa">
          <MU>23</MU>
          <ru>8</ru>
          <index>5</index>
        </datacouteau>
      </couteau>
    </couteau>
    <rature>
      <rature>
        <reg>fazef</reg>
        <tp>fefe</tp>
      </rature>
      <rature>
        <reg>afaf</reg>
        <tp>efeaf</tp>
      </rature>
    </rature>
  </tartine>
  <tartine type="teste">
    <couteau>
      <nom-couteau>coucou</nom-couteau>
      <num-carte>3</num-carte>
    </couteau>
    <couteau>
      <couteau>
        <nom-couteau>cool</nom-couteau>
        <datacouteau quand="de">
          <MU>22</MU>
          <ru>3</ru>
          <index>3</index>
        </datacouteau>
        <datacouteau quand="sa">
          <MU>23</MU>
          <ru>3</ru>
          <index>2</index>
        </datacouteau>
      </couteau>
      <couteau>
        <nom-couteau>tarazer</nom-couteau>
        <datacouteau quand="de">
          <MU>23</MU>
          <ru>3</ru>
          <index>5</index>
        </datacouteau>
        <datacouteau quand="sa">
          <MU>23</MU>
          <ru>8</ru>
          <index>5</index>
        </datacouteau>
      </couteau>
    </couteau>
    <rature>
      <rature>
        <reg>fazef</reg>
        <tp>fefe</tp>
      </rature>
      <rature>
        <reg>afaf</reg>
        <tp>efeaf</tp>
      </rature>
    </rature>
  </tartine>
  <tartine type="teste">
    <couteau>
      <nom-couteau>hache</nom-couteau>
      <num-carte>4</num-carte>
    </couteau>
    <couteau>
      <couteau>
        <nom-couteau>cool</nom-couteau>
        <datacouteau quand="de">
          <MU>22</MU>
          <ru>3</ru>
          <index>3</index>
        </datacouteau>
        <datacouteau quand="sa">
          <MU>23</MU>
          <ru>3</ru>
          <index>2</index>
        </datacouteau>
      </couteau>
      <couteau>
        <nom-couteau>tarazer</nom-couteau>
        <datacouteau quand="de">
          <MU>23</MU>
          <ru>3</ru>
          <index>5</index>
        </datacouteau>
        <datacouteau quand="sa">
          <MU>23</MU>
          <ru>8</ru>
          <index>5</index>
        </datacouteau>
      </couteau>
    </couteau>
    <rature>
      <rature>
        <reg>fazef</reg>
        <tp>fefe</tp>
      </rature>
      <rature>
        <reg>afaf</reg>
        <tp>efeaf</tp>
      </rature>
    </rature>
  </tartine>
</test>

il m'affiche toujours :

Code :
<?xml version="1.0" encoding="iso-8859-1"?>
quelqu'un a une idée ?
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/06/2011, 22h26   #4
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
Bonjour,

c'est parce que tu fais les choses à l'envers : c'est soit p, soit !d
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 09/06/2011, 00h40   #5
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
Par défaut je ne comprend pas..

j'ai essayé les 2 différentes solutions mais aucune ne fonctionne correctement

elle me donne toutes les deux des résultat différent mais non fonctionnel
car je voudrai juste supprime une parte exemple : ( du nom juju au nom coco )
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 15/06/2011, 01h04   #6
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
j'ai essayé sur plusieurs fichier

/chemin du fichier > fichier de destination

ça fonctionne sur du texte mais quand il y a :

Code :
<test actif="true"><jour>02/01/2006</jour><cool type="test3">
exemple
Code :
sed -n '/jour/,/jour/!p
la plus rien ne fonctionne (plus d'interprétation )

une idée ou une autre piste ?

merci
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 15/06/2011, 05h48   #7
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
Bonjour,

tu devrais te tourner vers XSLT; ici, ou sur W3C
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 19/06/2011, 01h25   #8
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
grand merci j'ai utilisé xpath et pensé de manière différente à mon problème.
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h34.


 
 
 
 
Partenaires

Hébergement Web