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 : Sélectionner tout - Visualiser dans une fenêtre à part
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