Я пытаюсь получить количество вхождений текста в файл. для этого я использовал следующую команду:
grep FAIL $sPath/FTM.FC*$yesterday* |awk -F ":" '{print $7}' | awk '{print $1}' |awk '{if ($1 == "userNotReachable"){cnt++;} ;{print cnt} };'
в первой части:
grep FAIL $sPath/FTM.FC*$yesterday* |awk -F ":" '{print $7}' | awk '{print $1}'
Я фильтрую вывод, чтобы получить только один столбец .. затем я проверяю, равен ли этот столбец искомому тексту " userNotReachable ", если true, тогда увеличьте счетчик, позже я хочу напечатать значение счетчика в текстовый файл
Вот пример содержимого исходного файла, это журналы ошибок:
2019-01-03 19:29:59.923 FAIL RETRY: Failed for request id: 14899507 Cause: userNotReachable Info: <undef> Code: 27,USSD RequestId=14899507 OriginalId=14899507 EventCorrelationId="1211005491|245065451||1546527554000" CreationTime="20190103192959" ResendCount=0 Timestamp=1546527599482 (Thu Jan 03 19:29:59 AFT 2019) State=STATE_SENT SubscriberNumber=708023643 UssdText=Last event was charged 0.04 MB from 1GB Monthly, Remaining data 421.95 MB (Exp 12.01.2019)1500 AFS = 32GB valid 30 Days, Dial *477*32*1#. NumberingPlan=1 Nadi=4 UssdFormat=2
Я хочу получить счетчик нескольких причин ошибок, таких как:
userNotReachable
unknown
equipmentFailure
timeout
userBusy
userNotReachable
userUnavailable
и распечатать счет каждой ошибки в текстовый файл