我有两个文件
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
但我得到的唯一结果是一个空的第一列序列
这里的错误在哪里?
你的任务不正确。
$ awk 'BEGIN {FS=OFS="\t"}
NR==FNR {a[$1]=$2; next}
$1 in a {print a[$1],$2}' file1 file2
Name1 sequence1
Name2 sequence2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)