• [^] # Re: Join

    Posté par . En réponse au message Comparer 2 fichiers plat avec awk. Évalué à 2.

    Et j'en profites pour répondre à la question :

    awk 'NR == FNR{ligne[1ドル]=1} NR != FNR {if(!(1ドル in ligne))print}' file2 file1

    ou en formaté correctement ;-)

    NR == FNR { ligne[1ドル] = 1 }
    NR != FNR {
    if ( !(1ドル in ligne))
    print
    }

    avec en entrée file2 file1

    Explications :

    l'astuce FNR == NR sert à savoir si on est en train de lire le premier fichier ou le second.
    Donc si on est en train de lire file2, FNR == NR, et on remplit un tableau avec pour clef l'entrée qui se trouve sur la ligne.
    Si on lit le second fichier (qui est en fait file1), on n'a plus qu'à verifier que la ligne lue n'était pas présente dans le fichier 2 (l'operateur "in" sur le tableau "ligne"). Si c'est le cas, on affiche la ligne.