Awk : remplacer une ligne d'un fichier

tchsimons Messages postés 207 Statut Membre -  
dubcek Messages postés 19021 Statut Contributeur -
Bonjour,
Bonjour à tous,
je voudrais remplacer dans un fichier "fich" le texte d'une de ses lignes passé en paramètre (la ligne 12),par un nouveau texte (toto travaille). ce dernier texte étant passé en paramètre.

.........
.........
v2="toto travaille"
awk -v var1=12 var2=v2 'NR=var1{print var2>fich}' fich.
..........
..........
Aurez vous une méthode?
merci

1 réponse

dubcek Messages postés 19021 Statut Contributeur 5 637
 
hello
$ cat a1
1
2
3
4
5
6
7
8
9
10
$ 
$ var=8
$ var2="toto travaille"
$ 
$ awk -v var=$var -v var2="$var2" 'NR==var {$0=var2}; {print}' < a1
1
2
3
4
5
6
7
toto travaille
9
10
$ 
0