我需要使用 AWK 从文件中打印出特定范围内的连接速率数。
以下是部分数据:
Mon Sep 15 11:50:08 1997
User-Name = "edvargas"
NAS-Identifier = 207.238.228.11
NAS-Port = 20116
.
.
.
Ascend-Connect-Progress = 60
Ascend-Data-Rate = 31200
.
.
.
有 5 个不同的范围,所以我用最低的两个进行测试。到目前为止,这是我所拥有的:
BEGIN{first=0; second=0; third=0; fourth=0; fifth=0}
/Ascend-Data-Rate/ && ($3<14400){
first++;
}
/Assend-Data-Rate/ && ($3>14400) && ($3<19200){
second++;
}
END{print "first =",first, "second =",second}
这些都不会增加变量。我知道在我的输出中,第一个范围应该找到 6,第二个范围应该找到 2。但是,两者都不能正常工作。
以下是我对问题的理解:
Search each record (line) for the field (string) "Ascend-Data-Rate"
If that is found: then compare the value of $3 (third field) to the range.
If that is found: increase the value of the var by one.
我 90% 确定这是让我失望的语法。我错过了什么?
这是一个练习,让我为下周到期的作业做准备。