[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Diff : obtenir uniquement les lignes ajoutées



On Wed, Sep 20, 2017 at 04:48:43PM +0200, Migrec wrote:
> J'ai un fichier CSV avec des identifiants, des mots de passes et quelques
> autres données.

C'est mal, il faut hacher les mots de passe.

> J'aimerai extraire les lignes ajoutées au fichier ANCIEN.csv par rapport au
> fichier NOUVEAU.csv. Certains lignes ont été modifiées et celles-ci ne
> m'intéressent pas. À noter que j'ai une adresse mail dans chaque ligne qui
> pourrait servir d'identifiant unique...

En Perl, avec un tableau associatif indexé par adresse mail,
par ex. avec des fichiers:

toto:tata:foo@bar.com:0:2


# Lire et indexer le premier fichier
my %lines;
foreach (<$file1>) {
   my ($f1, $f2, $email, $f3, $f4) = split /:/;
   $lines{$email} = 1;
}

# Imprimer ce qui n'est pas dans le premier fichier
foreach (<$file2>) {
   my ($f1, $f2, $email, $f3, $f4) = split /:/;
   print unless exists $lines{$email};
}


Pas testé!
Y.


Reply to: