列の合計に基づいて列を印刷するAWK

ベンステア

行列形式の数値を持つファイルがあります。ヘッダーを出力し、列の値が5未満で0より大きい場合は、列 'sum'に1を追加するawkスクリプトを作成しました。最後に、各列の合計を出力します。この部分は正常に機能します。

awk '
  BEGIN {FS=OFS=" "}
  NR==1 {print}
  NR>1  {for (i=1;i<=NF;i++) if ($i < 5 && $i > 0) a[i]+=1}
  END   {for (i=1;i<=NF;i++) printf $a[i]
}' snp_fake2.txt > tmp.txt`

私の目標は、列の合計が値THRESHOLDより大きい場合に、列全体を印刷することです。2番目のforループの後にifステートメントを追加して、列の合計a [i]が> THRESHOLDであるかどうかを判別し、列を出力しようとしました。

awk '
  BEGIN {FS=OFS=" "}
  NR==1 {print}
  NR>1  {for (i=1;i<=NF;i++) if ($i < 5 && $i > 0) a[i]+=1}
  END   {for (i=1;i<=NF;i++) if (a[i] < THRESHOLD) printf $i
}' snp_fake2.txt > tmp.txt`

しかし、これを実行すると、スクリプトは列全体を出力せず、単一の数値のみを出力します。単一の値だけでなく、列全体を印刷するにはどうすればよいですか?

dffnn

AWKはファイルを一度に1行ずつ処理します。前の行のメモリはありません。ENDルールは、最後の行が処理された後に実行されます。この時点で、AWKは列$ iの単一の値(最後の行からの値)しか認識していないため、列$ iのすべてのエントリを出力できません。

目標には、ファイルの2つのパスが必要です。1つは列の合計を計算するためのもので、もう1つは列全体を(適切な列に対して)印刷するためのものです。これを行うには、awkを呼び出して合計を計算し、次にawk(または他の何か)を呼び出して列を出力するシェルスクリプトを作成します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

基準に基づいて別の列に特定の列の合計を提供するAwkスクリプト

分類Dev

PandasDataFrameの別の列に基づいて列を合計する

分類Dev

別の列に基づいて列を合計する

分類Dev

代替列の基準に基づいて値を合計する

分類Dev

別の列の値に基づいて、awkを使用して列の値を合計する

分類Dev

別の列に基づいて1つの列の合計を計算する

分類Dev

別の列に基づいて列の間隔の合計を計算する

分類Dev

条件に基づいて列の合計を取得する

分類Dev

他の列の合計に基づいて新しい列を追加する方法

分類Dev

他の列に基づいて列の現在の合計を生成する方法

分類Dev

基準に基づいて列を合計する

分類Dev

条件に基づいて列集計を合計する

分類Dev

他の列に基づいて列の合計をカウントする-R

分類Dev

列の部分文字列に基づいて行の値を合計する

分類Dev

時間列に基づいて値の合計年齢を計算する

分類Dev

awk:列の値に基づいて列を抽出する

分類Dev

条件に基づいて2つの列を分離して合計する方法

分類Dev

別の列に基づいて値を合計してから減算する

分類Dev

重複する列に基づいてawkで合計および置換

分類Dev

別の列に基づいて列の平均を計算する

分類Dev

条件に基づいて列を合計する

分類Dev

ヘッダーに基づいて列を合計する

分類Dev

AWK を使用して現在の列の値に基づいて追加の行を印刷する方法

分類Dev

SQLServer別の列に基づいて特定の行数を合計する

分類Dev

Pythonの列値に基づいて一連の行を合計する

分類Dev

別の列の値に基づいて合計行を作成する

分類Dev

他の列の値に基づいて値を合計する(変数)

分類Dev

値に基づいて同じ列の上記の7行を合計する

分類Dev

別の列に基づいて一意の値を合計する

Related 関連記事

  1. 1

    基準に基づいて別の列に特定の列の合計を提供するAwkスクリプト

  2. 2

    PandasDataFrameの別の列に基づいて列を合計する

  3. 3

    別の列に基づいて列を合計する

  4. 4

    代替列の基準に基づいて値を合計する

  5. 5

    別の列の値に基づいて、awkを使用して列の値を合計する

  6. 6

    別の列に基づいて1つの列の合計を計算する

  7. 7

    別の列に基づいて列の間隔の合計を計算する

  8. 8

    条件に基づいて列の合計を取得する

  9. 9

    他の列の合計に基づいて新しい列を追加する方法

  10. 10

    他の列に基づいて列の現在の合計を生成する方法

  11. 11

    基準に基づいて列を合計する

  12. 12

    条件に基づいて列集計を合計する

  13. 13

    他の列に基づいて列の合計をカウントする-R

  14. 14

    列の部分文字列に基づいて行の値を合計する

  15. 15

    時間列に基づいて値の合計年齢を計算する

  16. 16

    awk:列の値に基づいて列を抽出する

  17. 17

    条件に基づいて2つの列を分離して合計する方法

  18. 18

    別の列に基づいて値を合計してから減算する

  19. 19

    重複する列に基づいてawkで合計および置換

  20. 20

    別の列に基づいて列の平均を計算する

  21. 21

    条件に基づいて列を合計する

  22. 22

    ヘッダーに基づいて列を合計する

  23. 23

    AWK を使用して現在の列の値に基づいて追加の行を印刷する方法

  24. 24

    SQLServer別の列に基づいて特定の行数を合計する

  25. 25

    Pythonの列値に基づいて一連の行を合計する

  26. 26

    別の列の値に基づいて合計行を作成する

  27. 27

    他の列の値に基づいて値を合計する(変数)

  28. 28

    値に基づいて同じ列の上記の7行を合計する

  29. 29

    別の列に基づいて一意の値を合計する

ホットタグ

アーカイブ