差が条件と一致する場合、行印刷

差が条件と一致する場合、行印刷

列2の値の差が10000以上の場合にのみ行を印刷します。

入力ファイル

1   176506  C
1   176566  T
1   188778  C
1   189699  M
1   199878  T
1   259923  H
1   268859  C
1   346868  J
1   349825  K
1   356882  U
1   396293  L

出力

1   176506  C
1   188778  C
1   199878  T
1   259923  H
1   346868  J
1   356882  U

ありがとうございます。

ベストアンサー1

値が増加していて、最後に印刷された行と現在の行の差がしきい値を超える場合は、行を印刷しようとしているとします。

awk -v n=10000 '$2 - p >= n { print; p = $2 }' infile

出力:

1   176506  C
1   188778  C
1   199878  T
1   259923  H
1   346868  J
1   356882  U
1   396293  L

おすすめ記事