我有以下几行:
DL_SINR 48 106.202 660.04 16.9651 18 7992
DL_SINR 49 116.333 660.363 16.9413 18 7992
DL_SINR 50 135.815 654.794 24.218 24 13536
我想计算哪些行包含第三列中100.0
和105.0
之间的数字。
我搜索了很多,但我找不到它。用grep或awk会很棒。
答案 0 :(得分:3)
Awk
是这项工作的好工具。它在空格中分割行,并以1
开头编号,因此第三个字段为$3
。
awk '$3 >= 100.0 && $3 <= 105.0 { count++ } END { print count ? count : 0 }' infile
答案 1 :(得分:1)
您可以使用awk
获取第3列值介于100和105之间的行,并使用wc -l
获取总行数。
awk '$3>=100&&$3<=105 {print $0}' test.txt | wc -l
答案 2 :(得分:1)
使用perl:
$ perl -anE '$c++ if ($F[2] >= 100.0 and $F[2] <= 150.0);END{say $c}' file
3