你好,我有这两个文件:比较文件的awk,打印匹配并连接,如果有不止一个匹配
cat file1.tab
1704 1.000000 T G
1708 1.000000 C G
1711 1.000000 G C
1712 0.989011 T A
1712 0.003564 T G
cat file2.tab
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
我想这样的输出:
1704 1.000000 T G
1705 0
1706 0
1707 0
1708 1.000000 C G
1709 0
1710 0
1711 1.000000 G C
1712 0.003564 T G 0.003564 T G
1713 0
我能几乎得到它与此:
awk 'NR==FNR { a[$1]=$0;b[$1]=$1; next} { if ($1 == b[$1]) print a[$1]; else print $1,"0";}' file1.tab file2.tab
但我不知道如何处理重复..我的脚本不检查是否在第1列中的字符file1.tab是重复的,因此它输出的只是它出现在最后一次$ 0 ...
要追加到[$ 1]不能覆盖它。 – 123
以'1712'开头的行输出缺少'0.989011' – anubhava