• # avec awk

    Posté par . En réponse au message Remplacer des cellules. Évalué à 4. Dernière modification le 09 mars 2017 à 00:02.

     awk -F, 'BEGIN{OFS=",";CLASSE=1;NOM=2;PRENOM=3;IDENTIFIANT=4;MDP=5;while ((x=getline <"2015.csv" ) > 0) { PASSWORD[$IDENTIFIANT]=$MDP}} {if (5ドル == "(déjà attribué)"){5ドル= PASSWORD[$IDENTIFIANT]};print 0ドル}' 2016.csv
    CLASSE,NOM,PRENOM,LOGIN,MOT DE PASSE

    Chez moi :

    $ cat 2016.csv
    CLASSE,NOM,PRENOM,LOGIN,MOT DE PASSE
    c601,Z,bob,bob.z,t954fd
    c502,A,antoine,antoine.a,(déjà attribué)
    c404,B,micheline,micheline.b,(déjà attribué)

    $ awk -F, 'BEGIN{OFS=",";CLASSE=1;NOM=2;PRENOM=3;IDENTIFIANT=4;MDP=5;while ((x=getline <"2015.csv" ) > 0) { PASSWORD[$IDENTIFIANT]=$MDP}} {if (5ドル == "(déjà attribué)"){5ドル= PASSWORD[$IDENTIFIANT]};print 0ドル}' 2016.csv
    CLASSE,NOM,PRENOM,LOGIN,MOT DE PASSE
    c601,Z,bob,bob.z,t954fd
    c502,A,antoine,antoine.a,4f56yg
    c404,B,micheline,micheline.b,654pgh

    Après si tu veux être sur de l'ensemble des champs, tu peux les comparer un à un et logger les erreurs dans un fichier. Mais à ce stade c'est peut-être plus simple de le faire en ruby par exemple.