条件块与条件语句(如果有)
说我有一个文件: PRO 1 GLN 5.55112e-17 ILE -6.245e-17 THR 5.55112e-17 我希望第二列中数字不等于1的每一行将其更改为0并保留其余部分。 如果我使用if(即条件语句),则一切正常: awk '{if($2!=1){print $1,"0"}else{print $0}}' file PRO 1 GLN 0 ILE 0 THR 0 但是当我使用条件块时,发生了一些不希望的事情: awk '$2!=1 {print $1,"0"} {print $0}' file PRO 1 GLN 0 GLN 5.55112e-17 ILE 0 ILE -6.245e-17 THR 0 THR 5.55112e-17 您可以看到问题所在。 如何解决此错误? 为什么会发生此错误? 条件语句和条件块之间有什么区别?