Ajouter texte différent à chaque fin de colonne

Fermé
kalifi Messages postés 11 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 5 juillet 2018 - 3 oct. 2014 à 11:22
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 3 oct. 2014 à 12:27
Bonjour,

avec la commande
awk 'NR>7 {$0=$0 " 1"} 1' fichier
pour ajouter un texte ici ' 1' en fin de ligne après la ligne 7

maintenant j'aimerais savoir comment ajouter un texte différent pour chaque ligne (spécifique)
sans toucher aux autres. (texte ajouté colonne de droite )

Merci

par exemple
.... ...... ..... ..... ........ ..
N 5.332026 4.858684 25.664755 1
N 9.531943 3.928616 25.660828 2
N 13.473387 5.652419 25.660938 2
N 15.665099 9.348609 25.659191 2
N 13.956279 15.422746 26.910851 3
N 10.246659 17.581150 26.906162 3
N 5.977269 17.167728 26.907476 3
N 2.757055 14.328563 26.922050 3
N 1.864382 10.137218 26.925882 3
N 3.648223 6.232724 26.923403 3
N 7.362030 4.077180 26.920235 3
N 11.631150 4.494714 26.917665 3
N 14.853849 7.330945 26.918638 4
N 15.745167 11.521697 26.913309 4


1 réponse

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 oct. 2014 à 12:27
hello
le premier split contient les textes à ajouter, le 2 deuxième les numéros de lignes
$ cat fichier
1
2
3
4
5
6
7
8
9
10
11
12
$ awk 'BEGIN {n=1; split("aa bb cc dd ff", t); split("2 4 6 8 11", l)} {if(NR == l[n])$0=$0 " " t[n++] ; print}' fichier
1
2 aa
3
4 bb
5
6 cc
7
8 dd
9
10
11 ff
12
$
0