質問の言い方が100%わからないので、どこかで答えられて、見つからなかった場合はお詫び申し上げます。
私が持っているのは、他の多くの出力とともに認証パケットを含むデバッグログです。特定のMacアドレスを含むすべてのパケットを見つけるには、約200万行のログを検索する必要があります。
パケットは次のようになります(わずかに打ち切られています)。
-----------------[ header ]-----------------
Event: Authd-Response (1900)
Sequence: -54
Timestamp: 1969-12-31 19:30:00 (0)
---------------[ attributes ]---------------
Auth-Result = Auth-Accept
Service-Profile-SID = 53
Service-Profile-SID = 49
RADIUS-Access-Accept-Attr/WiMAX-Capability = 0x(numbers)
Session-Timeout = 3600
Service-Profile-SID = 4
Service-Profile-SID = 29
Chargeable-User-Identity = "(Numbers)"
User-Password = "(the MAC address I'm looking for)"
--------------------------------------------
ただし、可能な長さが異なる約10種類の可能なタイプがあります。それらはすべてヘッダー行で始まり、すべてダッシュ行で終わります。
私はこれを使用してコードブロック自体を取得するためにawkを使用して成功しました:
awk '/-----------------\[ header \]-----------------/,/--------------------------------------------/' filename.txt
しかし、私はそれを使用して、必要なMACアドレスを含むパケットのみを返すことができることを望んでいました。
私はこれを数日間理解しようとしてきましたが、かなり行き詰まっています。私はbashスクリプトを書いてみることができましたが、以前にawkを使用してこのようなことをしたことがあると誓うことができました...