Sed remplacement en fonction du contexte
Bonjour,
Je ne suis pas un habitue de sed, j'espere que vous pourrez m'aider ou me diriger sur le bon outil.
J'ai un fichier de configuration sous cette forme :
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
| <Setting>
<SettingName>hal.stdin</SettingName>
<Identifier>STDIN</Identifier>
<Type>UnquotedString</Type>
<Value>none</Value>
<DefaultValue>none</DefaultValue>
<DestinationFile>system_h_define</DestinationFile>
<Description>Slave descriptor of STDIN character-mode device. This setting is used by the ALT_STDIN family of defines in system.h.</Description>
<Restrictions/>
<Group>Common</Group>
</Setting>
<Setting>
<SettingName>hal.stdout</SettingName>
<Identifier>STDOUT</Identifier>
<Type>UnquotedString</Type>
<Value>none</Value>
<DefaultValue>none</DefaultValue>
<DestinationFile>system_h_define</DestinationFile>
<Description>Slave descriptor of STDOUT character-mode device. This setting is used by the ALT_STDOUT family of defines in system.h.</Description>
<Restrictions/>
<Group>Common</Group>
</Setting>
<MemoryMap>
<slaveDescriptor>main_mem</slaveDescriptor>
<addressRange>0x00000000 - 0x007FFFFF</addressRange>
<addressSpan>8388608</addressSpan>
<attributes>memory</attributes>
</MemoryMap> |
Mon but est de remplacer le valeur none (balise Value) de hal.stdout par une autre valeur.
Le soucis comme vous l'aurez compris c'est que le pattern <Value>*</Value> apparait partout, il faut donc tenir compte du contexte.
Comment pourrai-je faire avec sed ? Est-il l'outil qu'il me faut vu que sed travaille ligne par ligne, peut-etre que faire ce que je souhaite n'est pas possible.
Merci