合計がゼロの行を削除

合計がゼロの行を削除

すべての列の値が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

おすすめ記事