简体   繁体   中英

Join on first column of two files

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

您可以简单地通过join来做到这一点

join <(sort file1) <(sort file2)

试试这个单线:

awk 'NR==FNR{a[$1]=$2;next}$1 in a{print $1,a[$1]}' file2 file1

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM