Rechercher : dans
Par :

Script shell

Dernière réponse le 9 jan 2007 à 22:37:19 breehen, le 8 jan 2007 à 21:49:00 
 Signaler ce message aux modérateurs

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!

Configuration: Windows XP
Firefox 2.0.0.1

Meilleures réponses pour « script shell » dans :
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...

1

jipicy, le 8 jan 2007 à 23:14:49

Salut,

echo "Texte à rajouter" >> ton fichier.xml
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

2

breehen, le 9 jan 2007 à 19:54:49

Merci pour la réponse mais je veux ajouter mon texte juste avant la dernière ligne, comment je pourrais le faire ??
merci encore !

Répondre à breehen

3

jipicy, le 9 jan 2007 à 20:07:46

Re-

Avec "sed" :

sed -i.bak '$i"Texte à rajouter"' fichier.xml
Explications :

- -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).

;-)) Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

4

breehen, le 9 jan 2007 à 21:32:22

Merci , et si je veux passer le texte en parametre , je fais comment ?
merci encore !
c'est très gentil!

Répondre à breehen

5

jipicy, le 9 jan 2007 à 21:58:21

En supposant que tu passes via un script "bash" à l'intérieur duquel tu appelles la commande "sed", la syntaxe sera du genre :

sed '$i'"$1" fichier.xml
Il 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...

;-)) Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

6

 breehen, le 9 jan 2007 à 22:37:19

Merci pour votre aide, c'est gentil de votre part,
le problème est résolu,
Merci!

Répondre à breehen