UNIXの質問があります。次のようなファイルがあります。
AAAA 0 1 2 2 0
BBBBB 2 2 2 2 2
CCCCC 1 1 0 1 1
DDDD 0 0 0 0 0
EEEEE 2 2 0 2 2
このファイルには、このような何千もの行があります(また、タブで区切られています)。ファイルの最初の列は名前で、2番目から6番目の列はデータです。重要なのは2列目から6列目の情報です。2列目から6列目が10(ゼロ)以下のすべての行を出力する必要があります。たとえば、出力を次のようにしたいと思います。
BBBBB 2 2 2 2 2
CCCCC 1 1 0 1 1
EEEEE 2 2 0 2 2
私はこれを可能な限り単純な方法で実行しようとしており、次のawkコマンドを試しました。
awk 'BEGIN{out!=0;}{if($2!=0)out++;if($3!=0)out++;if($4!=0)out++;if($5!=0)out++;if($6!=0)out++;if (out>=4)print;}'
しかし、これを試してみると、元の入力ファイルが表示されます。何が悪いのか、あるいは正しいアプローチを取っているのかどうかはわかりません。どんな助けでもいただければ幸いです。