保留第一行时文件上的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工作于条件和操作的方法,因此如果条件为真,则将执行在其之后提到的操作,因为此处未给出任何操作,所以默认情况下将打印当前行