Usar csvkit:
csvjoin -c email id_email.csv email_name.csv
o
csvjoin -c 2,1 id_email.csv email_name.csv
Revisión 3 :
Debe ordenar alfabéticamente ambas listas en el correo electrónico y luego unirse. Dado que el campo de correo electrónico es el segundo campo del archivo1 y el primer campo del archivo2:
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
significado del parámetro
-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 ...
ordenados por correo electrónico alfabéticamente.
Tenga en cuenta que si falta algún correo electrónico en cualquiera de los archivos, se omitirá de los resultados.
Tal vez sea excesivo, pero podría importar a una base de datos (por ejemplo, OpenOffice Base) como dos tipos de tablas y definir un informe que sea el resultado deseado.
Si la importación de CSV es un problema, entonces un programa de hoja de cálculo (por ejemplo, OpenOffice Calc) puede realizar la importación. El resultado se puede transferir fácilmente a la base de datos.