私のサーバーの1つに、以下のログエントリを含むいくつかのログファイルがあります。
FTM.FC103.20181228034503.20181228035250:2018-12-28 08:19:59.893 削除に失敗しました: 再送信に失敗した回数が多すぎる、要求 ID に失敗しました: 8dd 97545関係ID = "03a4264124 " CreationTime="20181228081949" ResendCount=1 Timestamp=1545968994377(2018年12月28日金曜日08:19:54 AFT 2018) State=STATE_S購読者ID = 96700606310UssdText=最後の活動手数料は3.00 RYL、期間は0:00:52、残りの残高は35.29 AFN、2020.12.25です。 RYL = 30日間有効な32GB、* 811 * 32 * 1#を押します。 NumberingPlan=1 Nadi=4 UssdFormat=2
このログから次の情報を抽出したいと思います。
1 - ログファイルからすべてのSubscriberNumberを抽出します。
2- 次に、ログに複数回表示される SubscriberNumber を探します。
答え1
あなたが使用できる:
grep -oP 'SubscriberNumber=\K(\d+)' logfile | sort -n | uniq -cd
- grep -oP '加入者番号=\K(\d+)' ログファイルすべての個々のSubscriberNumberを
logfile
分離します。 - ソート-n数字で並べ替え、
- ユニーク-CD繰り返される数字、つまり数を含む複数回表示される数字を印刷します。