首页 > 解决方案 > 文件上的 awk 条件,同时保留第一行

问题描述

我有这种文件:

IdxFirst  IdxCombined  IdxFirstNamed   IdxCombinedNamed  Counts  MeanScore
0         0            Univ_V3_bc1001  Univ_V3_bc1001    204158  95
1         1            Univ_V3_bc1002  Univ_V3_bc1002    187408  95
8         8            Univ_V3_bc1009  Univ_V3_bc1009    171808  95
8         9            Univ_V3_bc1009  Univ_V3_bc1010    380     98
8         11           Univ_V3_bc1009  Univ_V3_bc1012    350     97
9         9            Univ_V3_bc1010  Univ_V3_bc1010    253654  96
9         11           Univ_V3_bc1010  Univ_V3_bc1012    481     97
10        10           Univ_V3_bc1011  Univ_V3_bc1011    189661  96
11        11           Univ_V3_bc1012  Univ_V3_bc1012    238540  96
12        12           Univ_V3_bc1013  Univ_V3_bc1013    163897  96
12        13           Univ_V3_bc1013  Univ_V3_bc1014    317     98
12        15           Univ_V3_bc1013  Univ_V3_bc1016    404     96
13        13           Univ_V3_bc1014  Univ_V3_bc1014    150268  96

我想输出第一行和条件awk '{if ($3==$4) print $0}'。我试过awk 'NR==1{print $0}' && '{if ($3==$4) print $0}' my_file了,但它不起作用。它应该是这样的:

IdxFirst  IdxCombined  IdxFirstNamed   IdxCombinedNamed  Counts  MeanScore
0         0            Univ_V3_bc1001  Univ_V3_bc1001    204158  95
1         1            Univ_V3_bc1002  Univ_V3_bc1002    187408  95
8         8            Univ_V3_bc1009  Univ_V3_bc1009    171808  95
9         9            Univ_V3_bc1010  Univ_V3_bc1010    253654  96
10        10           Univ_V3_bc1011  Univ_V3_bc1011    189661  96
11        11           Univ_V3_bc1012  Univ_V3_bc1012    238540  96
12        12           Univ_V3_bc1013  Univ_V3_bc1013    163897  96
13        13           Univ_V3_bc1014  Univ_V3_bc1014    150268  96

标签: awk

解决方案


$ awk 'NR==1 || $3==$4' file
IdxFirst  IdxCombined  IdxFirstNamed   IdxCombinedNamed  Counts  MeanScore
0         0            Univ_V3_bc1001  Univ_V3_bc1001    204158  95
1         1            Univ_V3_bc1002  Univ_V3_bc1002    187408  95
8         8            Univ_V3_bc1009  Univ_V3_bc1009    171808  95
9         9            Univ_V3_bc1010  Univ_V3_bc1010    253654  96
10        10           Univ_V3_bc1011  Univ_V3_bc1011    189661  96
11        11           Univ_V3_bc1012  Univ_V3_bc1012    238540  96
12        12           Univ_V3_bc1013  Univ_V3_bc1013    163897  96
13        13           Univ_V3_bc1014  Univ_V3_bc1014    150268  96

推荐阅读