Awk : remplacer une ligne d'un fichier

Fermé
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 - 18 janv. 2010 à 22:40
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 19 janv. 2010 à 08:11
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 620
19 janv. 2010 à 08:11
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