在下面的awk
我想捕捉的KCNMA1
所有條件來過濾文件,在gene
行(這是名稱的一個列的列表),它們在file
$8
這是tab-delimited
awk的使用另一個捕獲所有實例
因此,在下面的示例中,KCNMA1
出現在$8
中的所有實例/行將打印到output
。
也可能有多個;
,但是名稱(在此例中爲KCNMA1
)將包含在內。 awk
似乎捕獲了可能的4個條件中的2個,但並非如當前輸出所示的所有實例。謝謝 :)。
基因
KCNMA1
文件
R_Index Chr Start End Ref Alt Func.IDP.refGene Gene.IDP.refGene GeneDetail.IDP.refGene
4629 chr10 78944590 78944590 G A intergenic NONE;KCNMA1 dist=NONE;dist=451371
4630 chr10 79396463 79396463 C T intronic KCNMA1 .
4631 chr10 79397777 79397777 C - exonic KCNMA1;X1X .
4632 chr10 81318663 81318663 C G exonic SFTPA2 .
4633 chr10 89397777 89397777 - GAA exonic NONE;X1X;KCNMA1 .
電流輸出
R_Index Chr Start End Ref Alt Func.IDP.refGene Gene.IDP.refGene GeneDetail.IDP.refGene
1 chr10 79396463 79396463 C T intronic KCNMA1 .
2 chr10 79397777 79397777 C - exonic KCNMA1;X1X .
期望的輸出(tab-delimeted
)
R_Index Chr Start End Ref Alt Func.IDP.refGene Gene.IDP.refGene GeneDetail.IDP.refGene
4629 chr10 78944590 78944590 G A intergenic NONE;KCNMA1 dist=NONE;dist=451371
4630 chr10 79396463 79396463 C T intronic KCNMA1 .
4631 chr10 79397777 79397777 C - exonic KCNMA1;X1X .
4633 chr10 89397777 89397777 - GAA exonic NONE;X1X;KCNMA1 .
AWK
awk -F'\t' 'NR==FNR{a[$0];next} FNR==1{print} {x=$8; sub(/;.*/,"",x)} x in a{$1=++c; print}' gene file > out
不知道爲什麼了' - 1',我還以爲包括了所有的細節,但編輯。謝謝 :)。 – Chris
我認爲這適合你:awk'NR <2; $ 8〜/ KCNMA1 /'文件 –