insérer la sortie d'une commande dans un fichier
Bonjour
J'ai un problème : je souhaite insérer du texte dans un fichier après l'avoir récupéré dans ce même fichier. Même en essayant de mettre ma variable entre $(), ça ne fonctionne pas.
Je m'explique :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #Pour chaque fichier
for i in `find . -name "*.txt"`; do
#je recupere chaque ligne qui commence par function
begin=$(awk 'BEGIN { }
/function/ { print $0 }
' $i)
#pour chaque ligne dans $begin
for fct in $begin; do
#recuperer les noms des fonctions
nom=$(echo $fct | cut -d " " -f 2 | cut -d "(" -f 1)
#recuperer les parametres des fonctions
var=$(echo $fct | cut -d " " -f 2 | cut -d "(" -f 2 | cut -d ")" -f 1)
#recuperer chaque mot avant une virgule
var2=$(echo $var | sed 's/,/ /g')
done
#on insère le nom de la fonction : j'ai essayé simples quotes, doubles quotes, $(), et mélanges aussi....... rien n'y fait soit ça met rien soit ça met $nom au lieu de la valeur qu'elle contient
cat $i | sed '/^function/ i\ \n\/**\n* function $(nom) : ' > $i |
Comment je peux faire pour insérer le contenu de ma variable dans mon fichier ?
Je suis bloquée depuis des jours :s
Cordialement
Ginger