使用awk过滤时如何保留文件的header

How to keep the header of the file when filtering using awk

我有一个看起来像这样带有 header 的文件。虽然有 26 列,但我只显示前 8 列。

id  Id  Study   Site    CancerType  Sex Country unexpected_duplicates
468768  1032    Response    Karlburg    VN  Breast  Female  Germany 
468769  1405    Response    Santiago        Prostate  Male  Spain   

我想使用此命令按“乳房”过滤癌症类型(第 5 列),该命令运行良好:

awk '( == "Breast")' PCA.covar > PCA.covar1

唯一的问题是我的 header 没有打印出来,输出中缺少第一行。

所以我将命令修改为:

awk 'NR==1; NR > 1 ( == "Breast")' PCA.covar > PCA.covar1

而且我看到虽然 header 在那里,但它没有被 Breast 过滤:

id  Id  Study   Site    CancerType  Sex Country unexpected_duplicates
468768  1032    Response    Karlburg    VN  Breast  Female  Germany 
468769  1405    Response    Santiago        Prostate  Male  Spain  
68772  RQ56001-9 Response   Maastricht      Prostate  Male  Netherlands 

应该这样做:
awk 'NR==1 || == "Breast"{print}' PCA.covar > PCA.covar1