如何使用awk或grep计算包含特定数字范围或间隔的行数?

如何使用awk或grep计算包含特定数字范围或间隔的行数?,awk,grep,perl,Awk,Grep,Perl,我有以下几行: 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会很好。awk是一个很好的工作工具。它以空格分隔行,并以1开始编号,因此第三个字段将是$3 awk '$3 >=

我有以下几行:

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会很好。

awk
是一个很好的工作工具。它以空格分隔行,并以
1
开始编号,因此第三个字段将是
$3

awk '$3 >= 100.0 && $3 <= 105.0 { count++ } END { print count ? count : 0 }' infile

awk'$3>=100.0&&$3
awk
是一个很好的工作工具。它以空格分隔行,并以
1
开始编号,因此第三个字段将是
$3

awk '$3 >= 100.0 && $3 <= 105.0 { count++ } END { print count ? count : 0 }' infile

awk'$3>=100.0&&$3您可以使用
awk
获取第三列值在100到105之间的行,并使用
wc-l
获取行总数

awk '$3>=100&&$3<=105 {print $0}'  test.txt | wc -l

awk'$3>=100&&$3您可以使用
awk
获取第三列值在100到105之间的行,并使用
wc-l
获取行总数

awk '$3>=100&&$3<=105 {print $0}'  test.txt | wc -l
awk'$3>=100&&$3使用:

$perl-anE'$c++if($F[2]>=100.0和$F[2]使用:


$perl-anE'$c++if($F[2]>=100.0和$F[2]你忘了
BEGIN
…?这是我得到的最快、最完美的答案。你是个天才,非常感谢,你救了我。@twalberg:没有
BEGIN
和3,结果都是零。@iamauser好吧,只要输入样本,结果应该是零,三个都是
$3>105
行。你忘记了
BEGIN
…?这是我得到的最快、最完美的答案。你是一个天才,非常感谢,你真的救了我。@twalberg:没有
BEGIN
,结果是零,有了它,结果是三。@Imauser好吧,只给了示例输入,结果应该是零,因为
$3>105
三行。
-l
开关不需要。它处理输入和输出中的行尾,但您不使用它们。True,在我的帖子中删除。
-l
开关不需要。它处理输入和输出中的行尾,但您不使用它们。True,在我的帖子中删除