加入对两个文件的第一列 [英] Join on first column of two files
本文介绍了加入对两个文件的第一列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何能够通过每个第一栏加入两个文件?
文件1:
116
116
116
116
116
117
117
117
117
117
文件2:
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
我要在这两个文件中匹配第一列,并打印这样的:
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
解决方案
试试这个单行:
的awk'NR == FNR {a [$ 1] = $ 2;接下来} $ 1的打印{$ 1,[$ 1]}'文件2文件1
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
解决方案
try this one-liner:
awk 'NR==FNR{a[$1]=$2;next}$1 in a{print $1,a[$1]}' file2 file1
这篇关于加入对两个文件的第一列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文