Script shell
Résolu/Fermé
bonjour,
je voudrai faire un script shell qui ajoute du texte à la fin d'un fichier texte existant. En fait concraitement j'ai un fichier xml tout simple, je veux ajouter à la fin du fichier xml un autre noeud avec ses fils,
Est ce quelcun pourrait m'aider à le faire parceque j'en ai aucune idée sur le shell!
merci d'avance!
je voudrai faire un script shell qui ajoute du texte à la fin d'un fichier texte existant. En fait concraitement j'ai un fichier xml tout simple, je veux ajouter à la fin du fichier xml un autre noeud avec ses fils,
Est ce quelcun pourrait m'aider à le faire parceque j'en ai aucune idée sur le shell!
merci d'avance!
A voir également:
- Script shell
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Microsoft activation script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
4 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
8 janv. 2007 à 23:14
8 janv. 2007 à 23:14
Salut,
echo "Texte à rajouter" >> ton fichier.xml;-))
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
9 janv. 2007 à 20:07
9 janv. 2007 à 20:07
Re-
Avec "sed" :
- -i.bak : crée un fichier de sauvegarde en renommant le fichier original en "fichier.xml.bak
- $i : "$" représente l'adresse (ici la dernière ligne) et "i" pour insertion. Donc "insérer" avant la dernière ligne
- Texte à rajouter : le texte à rajouter
- fichier.xml : le fichier d'entrée et de sortie
Pour faire des essais, enlève l'option "-i.bak", le résultat s'affichera alors sur la sortie standard (l'écran).
;-))
Avec "sed" :
sed -i.bak '$i"Texte à rajouter"' fichier.xmlExplications :
- -i.bak : crée un fichier de sauvegarde en renommant le fichier original en "fichier.xml.bak
- $i : "$" représente l'adresse (ici la dernière ligne) et "i" pour insertion. Donc "insérer" avant la dernière ligne
- Texte à rajouter : le texte à rajouter
- fichier.xml : le fichier d'entrée et de sortie
Pour faire des essais, enlève l'option "-i.bak", le résultat s'affichera alors sur la sortie standard (l'écran).
;-))
Utilisateur anonyme
9 janv. 2007 à 21:32
9 janv. 2007 à 21:32
merci , et si je veux passer le texte en parametre , je fais comment ?
merci encore !
c'est très gentil!
merci encore !
c'est très gentil!
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
9 janv. 2007 à 21:58
9 janv. 2007 à 21:58
En supposant que tu passes via un script "bash" à l'intérieur duquel tu appelles la commande "sed", la syntaxe sera du genre :
Lors de ton appel (ton_programme.sh "le_paramètre") il faudra là aussi "double quoter" le paramètre pour éviter des erreurs dues à des espaces...
;-))
sed '$i'"$1" fichier.xmlIl faut quoter (simple quote ( '...' )) l'expression "$i" (dernière ligne - insertion) et double quoter ( "..." ) le paramètre "$1" passé au shell.
Lors de ton appel (ton_programme.sh "le_paramètre") il faudra là aussi "double quoter" le paramètre pour éviter des erreurs dues à des espaces...
;-))
9 janv. 2007 à 19:54
merci encore !