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つの異なる範囲があるので、私は最も低い2つでテストしています。これが私がこれまでに持っているものです:
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番目の範囲で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%確信しています。私は何が欠けていますか?
これは、来週の課題に備えるための練習問題です。