awk は指数を正しく認識しません。私の間違いですか? [閉鎖]

awk は指数を正しく認識しません。私の間違いですか? [閉鎖]

awkバージョン:GNU Awk 4.1.1、API:1.1(GNU MPFR 3.1.2-p3、GNU MP 6.0.0)

次の入力があります(小さい例)。

Lh8627_00055___transposase_3    c368296268f9d0100b8a65d2cd57aaf2    424 Pfam    PF01610 Transposase 297 404 1.8E-11 T   22-06-2017  IPR002560   Transposase IS204/IS1001/IS1096/IS1165, DDE domain      
Lh8627_05835___transposase_1    212014f87f94178312dac70f061d81c6    469 Pfam    PF06782 Uncharacterised protein family (UPF0236)    30  399 4.5E-37 T   22-06-2017  IPR009620   Uncharacterised protein family UPF0236      
Lh8627_03700___transposase_3    916962acc8271c66b217ab903d836768    401 Pfam    PF06782 Uncharacterised protein family (UPF0236)    201 334 4.4E-6  T   22-06-2017  IPR009620   Uncharacterised protein family UPF0236      
Lh8627_01850___transposase_1    05e46b0f13cf6aa7db8adcf5fd3fd39d    409 Pfam    PF01548 Transposase 8   160 3.0E-29 T   22-06-2017  IPR002525   Transposase, IS111A/IS1328/IS1533, N-terminal   GO:0003677|GO:0004803|GO:0006313    

9列の値が1.0E-10未満の行をフィルタリングしたいと思います。

私の注文はですawk '$9 < 1.0E-10' my file。ただし、たとえば、上記の小さな入力では、3行目はフィルタリングされません。私は何が間違っていましたか?

ベストアンサー1

私の問題は、awkがタブだけでなく区切り文字としてスペースを使用していることを理解していないことです。一度追加されたら-F'\t'動作します。量の比較がかなり大丈夫ですね。

おすすめ記事