我有两个文件,一个是这样的,打印出的文件,如果两个文件列匹配
chrom start end ref alt alt_freq_CR alt_freq_ID gene gene_type
chr10 28814618 28814618 T C 0 0.4167 AAA sense
chr10 32557818 32557818 C T 0 0.1579 BBB PC
chr10 119245101 119245101 T C 0 0.1667 ZZZ rega
chr10 119245101 119245101 T C 0 0.1667 CCC sense
文件2
chrom start end ref alt alt_freq_CR alt_freq_ID gene gene_type
chr10 28814618 28814618 T C 0 0.4167 AAA sense
chr10 32557 32557 C T 0 0.1579 BBB PC
chr10 119245101 119245101 T C 0 0.1667 DDD rega
chr10 119245101 119245101 T C 0 0.1667 EEE sense
我需要一个输出文件,如果满足以下条件, 如果来自file_1的列(第8列)基因和来自file_2的基因(第8列)匹配,则它应该如下打印:
chrom start end ref alt alt_freq_CR alt_freq_ID gene gene_type chrom start end ref alt alt_freq_CR alt_freq_ID
chr10 28814618 28814618 T C 0 0.4167 AAA sense chr10 28814618 28814618 T C 0 0.4167
chr10 32557818 32557818 C T 0 0.1579 BBB PC chr10 32557 32557 C T 0 0.1579
我试图用这个AWK如下,但它并没有在输出打印所有匹配的行..
awk 'FNR==NR{a[$16]=$0;next}{if(b=a[$16]){print b}}' file_1 file_2
这将是如果在python脚本的解决方案真的很棒,而且这两个文件大小不同,行数的间隔不同。
你可能想阅读关于'merge'和'join'的pandas文档中的章节。 – cel