2つの列の最小値と最大値を見つける

2つの列の最小値と最大値を見つける

以下のデータがあります。

sampleA    ATGC    10   100
sampleA    ATGC    120  230
sampleA    ATGC    200  110

3列と4列の値を使って最小値と最大値を出力したいと思います。したがって、私の出力は次のようになります。

sampleA   10  230

事前にありがとう

ベストアンサー1

短いアッ解決策:

awk '{ a[++c]=$3; a[++c]=$4 }END{ asort(a); print $1,a[1],a[length(a)] }' file

出力:

sampleA 10 230

短いデータ混合解決策(3番目または4番目の列内の別々の最小/最大計算用):

datamash -W -g1 min 3 max 4 < file
  • -g1- 最初の列値を持つグループレコード

  • min 3- 3番目の列の最小値を取得します。

  • max 4- 4番目の列の最大値を取得します。

出力:

sampleA 10  230

おすすめ記事