保留第一行时文件上的Awk条件

保留第一行时文件上的Awk条件,awk,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

我有这样的文件:

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}'我的_文件,但它不起作用。应该是这样的:

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 'FNR==1{print;next} ($3==$4)' Input_file

说明:简单地说,当第三行和第四行只是打印第一行和我们执行比较的其余行并相应打印时,不要运行比较第三行和第四行字段的条件检查。打印条件检查的工作原理$3==$4是awk工作在条件和操作的方法上,因此如果条件为真,则将执行后面提到的操作,因为这里没有给出操作,所以默认情况下将打印当前行。

请尝试以下操作

awk 'FNR==1{print;next} ($3==$4)' Input_file
说明:简单地说,当第三行和第四行只是打印第一行和我们执行比较的其余行并相应打印时,不要运行比较第三行和第四行字段的条件检查。条件检查的打印工作方式$3==$4是awk工作于条件和操作的方法,因此如果条件为真,则将执行在其之后提到的操作,因为此处未给出任何操作,所以默认情况下将打印当前行