2016-10-03 167 views
0

我想通過使用另一個filter_file篩選file_to_filter,這只是$1中的字符串列表。我覺得我很接近,但似乎無法在輸出中包含標題行。 file_to_filter也是製表符分隔的。謝謝 :)。awk將頭添加到輸出文件

file_to_filter

Chr Start End Ref Alt Func.refGene Gene.refGene 
chr1 160098543 160098543 G A exonic ATP1A2 
chr1 172410967 172410967 G A exonic PIGC 

filter_file

PIGC 

所需輸出(包含的頭)

Chr Start End Ref Alt Func.refGene Gene.refGene 
chr1 172410967 172410967 G A exonic PIGC 

AWK電流輸出(標題不含稅)

awk -F'\t' 'NR==1{A[$1];next}$7 in A' file test 

chr1 172410967 172410967 G A exonic PIGC 

回答

2

假設你的領域真的是製表符分隔:

awk -F'\t' 'NR==FNR{tgts[$1]; next} (FNR==1) || ($7 in tgts)' filter_file file_to_filter 

要開始學習的awk,讀的書有效awk中編程,第4版,阿諾德羅賓斯。