로그 파일에서 중복된 숫자를 추출하는 방법은 무엇입니까? [폐쇄]

로그 파일에서 중복된 숫자를 추출하는 방법은 무엇입니까? [폐쇄]

내 서버 중 하나에 아래에 언급된 로그 항목이 포함된 일부 로그 파일이 있습니다.

FTM.FC103.20181228034503.20181228035250:2018-12-28 08:19:59.893 삭제 실패: 재전송 시도 실패 횟수가 너무 많음, 요청 ID 실패: 8397796 이유: 알 수 없음 정보: 코드:, USSD RequestId=8397796 OriginalId=8397545 관계 ID = "03a4264124 " CreationTime="20181228081949" ResendCount=1 Timestamp=1545968994377(2018년 12월 28일 금요일 08:19:54 AFT 2018) State=STATE_SENT구독자 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반복되는 숫자, 즉 개수를 포함하여 두 번 이상 나타나는 숫자를 인쇄합니다.

관련 정보