Se suas colunas contiverem apenas números não negativos, você só precisará imprimir uma linha com pelo menos um campo com um número maior que 0.
com perl
:
$ perl -MList::Util=first -anle '
print if first {$_ > 0} @F or $. == 1;
' file
KO gene S10 S11 S12 S1 S2 S3 S4 S5 S6 S7 S8 S9
K02946 aap:NT05HA_2163 0 0 0 0 1 0 8 0 0 5 0 0
K06215 aar:Acear_1499 0 0 0 0 0 0 8 0 0 0 0 0
K00059 acd:AOLE_11635 0 0 5 0 0 0 0 0 8 0 0 0
K01784 aha:AHA_2893 0 0 0 0 0 0 7 0 0 0 0 0
Você deve ler esta pergunta por motivos de segurança se usar perl
solution.
com awk
:
$ awk 'FNR == 1{print;next}{for(i=3;i<=NF;i++) if($i > 0){print;next}}' file