2
条件付きブロックと条件付きステートメント(if)
ファイルがあるとします: PRO 1 GLN 5.55112e-17 ILE -6.245e-17 THR 5.55112e-17 2番目の列の番号が1でないすべての行を0に変更し、残りを保持するようにします。 私が使用する場合if(つまり、条件付きステートメント)、すべてがOKです: 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 何がおかしいのかわかります。 このエラーを修正するにはどうすればよいですか? なぜこのエラーが発生するのですか? 条件付きステートメントと条件付きブロックの違いは何ですか?
17
awk