0
我有两个文件AWK:两个文件查询
file1
:
>string1<TAB>Name1
>string2<TAB>Name2
>string3<TAB>Name3
file2
:
>string1<TAB>sequence1
>string2<TAB>sequence2
我想用awk
来比较各个文件的第1列。如果两个文件共享一个列1值,我想打印file1的第2列,然后是file2的第2列。例如,对于上面的文件我的预期成果是:
Name1<TAB>sequence1
Name2<TAB>sequence2
这是我的代码:
awk 'BEGIN{FS=OFS="\t"} FNR == NR { a[$1] = $1; next } $1 in a { print a[$2], $2 }' file1 file2 >out
但我唯一得到的是一个空的第一columnsequence
哪里是错误这里?
'a [$ 1] = $ 1'应该是'a [$ 1] = $ 2' – karakfa
欢迎使用Stack Overflow。 请注意,在这里说'谢谢'的首选方式是通过 提高投票的好问题和有用的答案(一旦你有足够的声誉这样做),并接受任何 问题最有用的答案,你问(这也给你一个小小的提升,以你的声望 )。 请参阅[关于]页面,以及[如何在此处提问 ?]和 [当有人回答我的 问题时,我该怎么办? ?](http://stackoverflow.com/help/someone-answers) –