Ajouter une colonne à droite d'un fichier

Résolu/Fermé
kalifi Messages postés 11 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 5 juillet 2018 - 12 juin 2014 à 16:01
kalifi Messages postés 11 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 5 juillet 2018 - 12 juin 2014 à 16:59
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
A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
12 juin 2014 à 16:08
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
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
12 juin 2014 à 16:12
hello
awk 'NR>7 {t=" T T T"} {print $0  t}'  fichier
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
12 juin 2014 à 16:16
Hi,

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

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

Merci ;-)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
12 juin 2014 à 16:25
simplifions, simplifions
awk 'NR>7 {$0=$0 " T T T"} 1' fichier
0
kalifi Messages postés 11 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 5 juillet 2018
12 juin 2014 à 16:59
Merci les amis , les deux marchent :)
0