我有一个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 列不超过 1 0(零)的所有行。例如,我希望输出如下所示:
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;}'
但是,当我尝试这个时,它只是给了我原始输入文件。我不确定出了什么问题,或者我是否采取了正确的方法。任何帮助,将不胜感激。