Remplacer dans un fichier

Résolu
mortelrdv -  
 mortelrdv -
Bonjour,

j'ai un fichier contenant ceci :
12:pierre:33:tata
33:paul:15:minig
12:pascal:23:zozoz
7:jack:231:tata
12:libre:111:totokl

j'ai un autre fichier contenant
55:tata
77:zarbi
197:motus

je voudrai remplacer le contenu du premier fichier par le deuxieme qui donnera :
12:pierre:55:tata
33:paul:15:minig
12:pascal:23:zozoz
7:jack:55:tata
12:libre:111:totokl


Bien sur, les fichiers sur lequel je travaillerai peu contenir des milliers de lignes

Merci de vos conseils
PS : je suis sous SunOS, et donc les commandes seront moins évoluer que les commandes des dernieres distrib linux.

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    sur Solaris/SunOS, utiliser nawk
    $ nawk 'BEGIN {FS=OFS=":"} NR==FNR {t[$2]=$1; next} {if(t[$4])$3=t[$4]; print}' fichier2 fichier1
    12:pierre:55:tata
    33:paul:15:minig
    12:pascal:23:zozoz
    7:jack:55:tata
    12:libre:111:totokl
    0