0

我有这些行:

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

4

3 回答 3

3

Awk是工作的好工具。它将行分隔为空格,它们从 开始编号1,因此第三个字段将是$3

awk '$3 >= 100.0 && $3 <= 105.0 { count++ } END { print count ? count : 0 }' infile
于 2013-08-26T21:04:41.620 回答
1

使用

$ perl -anE '$c++ if ($F[2] >= 100.0 and $F[2] <= 150.0);END{say $c}' file
3
于 2013-08-26T21:26:06.680 回答
1

您可以使用awk获取第 3 列值介于 100 和 105 之间的行,并使用wc -l获取总行数。

awk '$3>=100&&$3<=105 {print $0}'  test.txt | wc -l
于 2013-08-26T21:14:33.480 回答