Insertion plusieurs lignes dans fichier (ksh)

Résolu/Fermé
Atef - 1 avril 2008 à 15:59
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 12 nov. 2009 à 11:52
Bonjour,
Je suis un débutant en shell (ksh) et j'ai besoin de faire le traitement suivant:
J'ai besoin d'insérer plusieurs lignes dans un fichiers xml juste avant la fin d'une balise:
example:
<ActionMapping>
<Action name="ParamChange" value="s3i">
<Task name="parameter change v3" description="parameter Change version 3"/>
</Action>
<Action name="ParamChange" value="v4m">
<Task name="parameter change v4" description="parameter Change version 4"/>
</Action>
</ActionMapping>


je veux insérer avant la balise </ActionMapping> les lignes suivantes
<Action name="UpgradeSession" value="v1">
<Task name="upgrade session" description="upgrade sessions version 1"/>
</Action>


Merci d'avance de votre aide.
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
1 avril 2008 à 16:10
Salut,
[jp@MDK-2008 trash]$ cat atef
<ActionMapping>
<Action name="ParamChange" value="s3i">
<Task name="parameter change v3" description="parameter Change version 3"/>
</Action>
<Action name="ParamChange" value="v4m">
<Task name="parameter change v4" description="parameter Change version 4"/>
</Action>
</ActionMapping>

[jp@MDK-2008 trash]$ sed -i.BAK '\#</ActionMapping>#i\
<Action name="UpgradeSession" value="v1">\
<Task name="upgrade session" description="upgrade sessions version 1"/>\
</Action>
' atef

[jp@MDK-2008 trash]$ cat atef
<ActionMapping>
<Action name="ParamChange" value="s3i">
<Task name="parameter change v3" description="parameter Change version 3"/>
</Action>
<Action name="ParamChange" value="v4m">
<Task name="parameter change v4" description="parameter Change version 4"/>
</Action>
<Action name="UpgradeSession" value="v1">
<Task name="upgrade session" description="upgrade sessions version 1"/>
</Action>
</ActionMapping>
[jp@MDK-2008 trash]$ 
;-))
0
Salut
c magique :-)
Merci beaucoup.
0
Bonjour,
Merci pour votre aide mais est ce que vous pouriez me dire comment éditer les caractères spéciaux dans ce cas.
mon cas est le suivant : la chaîne que je veux insérer contient le caractère " ' "
Voici la chaine :
<xsl:stylesheet
xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
<xsl:output method="xml" />
<xsl:param name="host"/>
<xsl:param name="port"/>

<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="config-property[@name='ConnectionURL']">
<config-property type="java.lang.String" name="ConnectionURL">jdbc:hsqldb:hsql://<xsl:value-of select='$host'/>:<xsl:value-of select='$port'/></config-property>
</xsl:template>

<xsl:template match="*|@*">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
]]>


Merci
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > manou
3 nov. 2009 à 18:01
Suffit de protéger les " ' " par des anti-slash " \' ".
0
manou > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
12 nov. 2009 à 11:45
ça n'a pas marché.
Ce que j'ai fait c'est :
déclarer la variable QUOTE
puis j'ai utilisé la syntaxe suivante :

<xslt-config configName="Configuration"><![CDATA[\
<xsl:stylesheet\
xmlns:xsl='"$QUOTE"'http://www.w3.org/1999/XSL/Transform'"$QUOTE"' version='"$QUOTE"'1.0'"$QUOTE"'>\
<xsl:output method="xml" />\
<xsl:param name="port"/>\
<xsl:template match="/">\
<xsl:apply-templates/>\
</xsl:template>\
<xsl:template match="attribute[@name='"$QUOTE"'serverBindPort'"$QUOTE"']">\
<attribute type="java.lang.String" name="serverBindPort"><xsl:value-of select='"$QUOTE"'$port'"$QUOTE"'/></attribute>\


Merci.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
12 nov. 2009 à 11:52
Affiche ce que tu veux exactement avec un fichier AVANT et APRÈS.
0