Awk : remplacer une ligne d'un fichier

tchsimons Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   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