awk将标头添加到输出文件

时间:2016-10-03 16:38:32

标签: awk

我正在尝试使用另一个file_to_filter过滤filter_file,这只是$1中的字符串列表。我想我很接近,但似乎无法在输出中包含标题行。 file_to_filter也是制表符分隔符。谢谢你:)。

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

1 个答案:

答案 0 :(得分:2)

假设您的字段确实以制表符分隔:

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

要开始学习awk,请阅读Arnold Robbins撰写的Effective Awk Programing,第4版。