Reputation: 101
How can I join two files by the first column of each?
file1:
116
116
116
116
116
117
117
117
117
117
file2:
1 37.8378378378378
2 30.5009605438156
3 35.4106079490375
4 25.6565656565657
.....
.....
116 49.4073275862069
117 25.8182578688696
118 36.1389759665622
119 36.7218282111899
120 55.1587301587302
I want to match the 1st columns in both files and print like this:
116 49.4073275862069
116 49.4073275862069
116 49.4073275862069
116 49.4073275862069
116 49.4073275862069
117 25.8182578688696
117 25.8182578688696
117 25.8182578688696
117 25.8182578688696
117 25.8182578688696
Upvotes: 0
Views: 3379
Reputation: 85775
You can do this simply with join
join <(sort file1) <(sort file2)
Upvotes: 3
Reputation: 195039
try this one-liner:
awk 'NR==FNR{a[$1]=$2;next}$1 in a{print $1,a[$1]}' file2 file1
Upvotes: 2