すべての列の値が0の場合(つまり、行の合計が0の場合)、ファイル内のすべての行を削除する必要があります。
私のファイルは次のとおりです(13列、60000行、タブ区切り)。
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
K00991 afn:Acfer_0744 0 0 0 0 0 0 0 0 0 0 0 0
K01784 aha:AHA_2893 0 0 0 0 0 0 7 0 0 0 0 0
K01497 amd:AMED_3340 0 0 0 0 0 0 0 0 0 0 0 0
どうですか?
ベストアンサー1
解決策が必要な場合awk
:
awk '{s=0; for (i=3;i<=NF;i++) s+=$i; if (s!=0)print}' infile > outfile
スクリプトを開始するために最初の行を2行目のタイトルとして保持するには、次のようにします。
awk 'NR > 1{s=0; for (i=3;i<=NF;i++) s+=$i; if (s!=0)print}' infile > outfile