Ajouter une colonne à droite d'un fichier

Résolu
kalifi Messages postés 11 Statut Membre -  
kalifi Messages postés 11 Statut Membre -
Bonjour,
J'ai un fichier comme suivant
Cl C N B H O P
1.000000000000
50.000000000000 0.000000000000 0.000000000000
0.000000000000 50.000000000000 0.000000000000
0.000000000000 0.000000000000 60.000000000000
2 7 182 180 55 42 1
Direct
0.103933143616 0.149722417949 0.465987014771
0.172832298279 0.158232885981 0.349607734680
0.190637416840 0.185712812373 0.504559402466
........ ............... ..........
.---------------------------------------------------------------------------------------------------------------------
j'aimerais obtenir
Cl C N B H O P
1.000000000000
50.000000000000 0.000000000000 0.000000000000
0.000000000000 50.000000000000 0.000000000000
0.000000000000 0.000000000000 60.000000000000
2 7 182 180 55 42 1
Direct
0.103933143616 0.149722417949 0.465987014771 T T T
0.172832298279 0.158232885981 0.349607734680 T T T
0.190637416840 0.185712812373 0.504559402466 T T T
.............. ...................... .........................
.......
les 7 premières lignes doivent rester inchangées, et ajouter les lettres pour les la suite ( partie la plus grande dans le fichier)
Merci

3 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    $ cat brol 
    Cl C N B H O P
    1.000000000000
    50.000000000000 0.000000000000 0.000000000000
    0.000000000000 50.000000000000 0.000000000000
    0.000000000000 0.000000000000 60.000000000000
    2 7 182 180 55 42 1
    Direct
    0.103933143616 0.149722417949 0.465987014771
    0.172832298279 0.158232885981 0.349607734680
    0.190637416840 0.185712812373 0.504559402466
    ........ ............... ..........

    $ sed '/Direct/,${/Direct/b;s/$/ T T T/}' brol
    Cl C N B H O P
    1.000000000000
    50.000000000000 0.000000000000 0.000000000000
    0.000000000000 50.000000000000 0.000000000000
    0.000000000000 0.000000000000 60.000000000000
    2 7 182 180 55 42 1
    Direct
    0.103933143616 0.149722417949 0.465987014771 T T T
    0.172832298279 0.158232885981 0.349607734680 T T T
    0.190637416840 0.185712812373 0.504559402466 T T T
    ........ ............... .......... T T T

    Si ça te convient, soit tu rajoutes l'option
    -i.BAK
    à la commande (si ta version de sed le permet), sinon tu rediriges dans un fichier.
    0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    awk 'NR>7 {t=" T T T"} {print $0  t}'  fichier
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Hi,

      Il est vrai que des fois je me complique la vie pour rien ;-\

      sed '8,${s/$/ T T T/}' brol

      Merci ;-)
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      simplifions, simplifions
      awk 'NR>7 {$0=$0 " T T T"} 1' fichier
      0
  3. kalifi Messages postés 11 Statut Membre
     
    Merci les amis , les deux marchent :)
    0