Ajouter texte différent à chaque fin de colonne

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

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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