Ich habe 2 CSV-Dateien und ich brauche sie JOIN BASH mit:BASH: Fügen 2 CSV-Dateien auf der Grundlage gemeinsamer Feldnamen
file_1.csv columns:
track_id
title
song_id
release
artist_id
artist_mbid
artist_name
duration
artist_familiarity
artist_hotttnesss
year
Sample date in file_1.csv
TRZZZZZ12903D05E3A,Infra Stellar,SOZPUEF12AF72A9F2A,Archives Vol. 2,ARBG8621187FB54842,4279aba0-1bde-40a9-8fb2-c63d165dc554,Delerium,495.22893,0.69652442519,0.498471038842,2001
file_2.csv columns:
track_id
sales_date
sales_count
Sample data in file_2.csv
TRZZZZZ12903D05E3A,2014-06-19,79
Die Beziehung zwischen den Dateien, die file_1.track_id = file_2.track_id
ist.
Ich möchte file_3.csv
eine dritte Datei erstellen, die die folgenden Spalten haben:
file_2.track_id,file_2.sales_date,file_2.sales_count,file_1.title,file_1.song_id,file_1.release,file_1.artist_id,file_1.artist_mbid,file_1.artist_name,file_1.duration,file_1.artist_familiarity,file_1.artist_hotttnesss,file_1.year
Ich habe versucht, die folgenden Methoden:
join -t',' -1 N -1 N file_2.csv file_1.csv >> file_3.csv
und
awk -F, 'NR==FNR{a[$0]=$0;next} ($1 in a){print a[$1]"," > "file_3.csv"}' file_1.csv file_2.csv
Obwohl die file_3.csv
wird erstellt, es ist eine leere Datei. Irgendwelche Ideen, wie man das macht?
Danke!