テーブルから行を抽出して別のファイルに入れるにはどうすればよいですか?

テーブルから行を抽出して別のファイルに入れるにはどうすればよいですか?

5つの列と複数の行を持つテーブルがあります。

最後の列には、各行のすべての値の合計が含まれています。

そう:

A       B   C   D   E
gene1   1   3   5   9
gene2   0   0   4   4
gene3   1   0   1   2
gene4   5   5   0   10
gene5   2   0   0   2

私が望むのは、gene2とgene5行を別々のファイルに抽出し、他の遺伝子(抽出された遺伝子ではない)、gene1、gene3、およびgene4を含む他のファイルを持つことです。

コマンドを使用しようとしていますが、awk行と数字をリンクする方法がわかりません。

ベストアンサー1

使用awk:

awk '{
    if ( ($2 == $5 && $3 + $4 == 0) || ($3 == $5 && $2 + $4 == 0) || ($4 == $5 && $2 + $3 == 0) ) {
        print $0 > "match-file"
    } else if ($2 + $3 + $4 == $5) { 
        print $0 > "nomatch-file"
    }
}' input

おすすめ記事