1. ホーム
  2. awk

[解決済み】awkで絶対値が効かない?

2022-02-13 07:51:54

質問

ファイル中の9列目の絶対値が500以下の行を選択したい。列は正の時もあれば負の時もある。

awk -F'\t' '{ if ($9 < |500|) {print $0} }' > output.bam

これは今のところうまくいきません。インターネットで調べたところ、絶対値を使用するには、以下のように追加する必要があると言われました。

func abs(x) { return (x<0) ? x*-1 : x }

では、これを9列目の値と一緒に並べるにはどうすればいいのでしょうか?適切な構文がわかりません。

どのように解決するのですか?

awk -F'\t' 'function abs(x){return ((x < 0.0) ? -x : x)} {if (abs($9) < 500) print $0}'