Usa csvkit:
csvjoin -c email id_email.csv email_name.csv
o
csvjoin -c 2,1 id_email.csv email_name.csv
Revisione 3 :
Devi ordinare alfabeticamente entrambi gli elenchi sulla posta elettronica, quindi unirti. Dato che il campo email è il 2° campo di file1 e il 1° campo di file2:
sort -t , -k 2,2 file1.csv > sort1.csv
sort -t , -k 1,1 file2.csv > sort2.csv
join -t , -1 2 -2 1 sort1.csv sort2.csv > sort3.csv
significato del parametro
-t , : ',' is the field separator -k 2,2 : character sort on 2nd field -k 1,1 : character sort on 1st field -1 2 : file 1, 2nd field -2 1 : file 2, 1st field > : output to file
produce
email,ID,name email,ID,name ...
ordinati per email in ordine alfabetico.
Tieni presente che se manca un'email da uno dei file, verrà omessa dai risultati.
Forse è eccessivo, ma potresti importare in un database (ad es. OpenOffice Base) come due tipi di tabelle e definire un report che è l'output desiderato.
Se l'importazione CSV è un problema, allora un programma per fogli di calcolo (ad esempio OpenOffice Calc) può eseguire l'importazione. Il risultato può quindi essere facilmente trasferito al database.