我有兩個文件,一個是這樣的,打印出的文件,如果兩個文件列匹配
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