Verwenden Sie csvkit:
csvjoin -c email id_email.csv email_name.csv
oder
csvjoin -c 2,1 id_email.csv email_name.csv
Revision3 :
Sie müssen beide E-Mail-Listen alphabetisch sortieren und dann beitreten. Da das E-Mail-Feld das 2. Feld von Datei1 und das 1. Feld von Datei2 ist:
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
Parameterbedeutung
-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
produziert
email,ID,name email,ID,name ...
nach E-Mail alphabetisch sortiert.
Beachten Sie, dass fehlende E-Mails in einer der Dateien in den Ergebnissen weggelassen werden.
Vielleicht ist es übertrieben, aber Sie könnten zwei Arten von Tabellen in eine Datenbank (z. B. OpenOffice Base) importieren und einen Bericht definieren, der die gewünschte Ausgabe ist.
Wenn der CSV-Import ein Problem darstellt, kann ein Tabellenkalkulationsprogramm (z. B. OpenOffice Calc) den Import durchführen. Das Ergebnis kann dann einfach in die Datenbank übernommen werden.