2016-09-21 8 views
0

Ich habe Systemprotokolle, in denen Alarme geschrieben werden. In meinem Fall habe ich viele wiederholte Alarme, die ich ignorieren und nur auf neue Alarme konzentrieren möchte, die möglicherweise existieren.nach Muster suchen und alle Zeilen entfernen

Probe Alarm:

kbl1infn8:CCC_USER_2049.0002:2016/09/20-17:00:03.560451-00540-03276-CCC_USER_2049- <0N CpocsSs7CircuitCat#040200000000009a|6501646464644309|6501646464c90000-6503010117c80000-1.0.3|a40200003e3d8fd5|0000000e|0000000000000000 
    kbl1infn8:CCC_USER_2049.0002:2016/09/20-17:00:03.560451-00540-03276-CCC_USER_2049- |RC USSDString=*1234*#|MSISDN=93707678224| 
    kbl1infn8:CCC_USER_2049.0002:2016/09/20-17:00:03.560451-00540-03276-CCC_USER_2049- |NF NOT: src=ERROR_APPLICATION sev=SEVERITY_MAJOR id=010117c800000001 
    kbl1infn8:CCC_USER_2049.0002:2016/09/20-17:00:03.560451-00540-03276-CCC_USER_2049- de.siemens.advantage.in.featureframework.FeatureException: GenAcc> [0]theGenericAccess: No value available for SubsDMDB.Subscriber.LanguageID and type INTEGER 
    kbl1infn8:CCC_USER_2049.0002:2016/09/20-17:00:03.560451-00540-03276-CCC_USER_2049- at de.siemens.advantage.in.features.genericAccess.impl.DynamicAsciiBuffer$Handle.throwNotAvailableException(DynamicAsciiBuffer.java:1105) 

-- 
kbl1infn4:CCC_USER_1025.0009:2016/09/20-00:23:03.981403-25661-28403-CCC_USER_1025- <0N CpocsSs7CircuitCat#020200000000008a|6501646464644309|6501646464c90000-6501646464640000-1.1.1|a20200003cc 
31dd2|0000000e|0000000000000000 
kbl1infn4:CCC_USER_1025.0009:2016/09/20-00:23:03.981403-25661-28403-CCC_USER_1025- |RC CdPA=173|CgPA=93705040139| 
kbl1infn4:CCC_USER_1025.0009:2016/09/20-00:23:03.981403-25661-28403-CCC_USER_1025- |NF NOT: src=ERROR_APPLICATION sev=SEVERITY_MAJOR id=6503010103c80016 
kbl1infn4:CCC_USER_1025.0009:2016/09/20-00:23:03.981403-25661-28403-CCC_USER_1025- Exception in flexible core (e.g. during logic execution):de.siemens.advantage.in.featureframework.FeatureExc 
eption: Call.checkIfCcOperationIsAllowed(): operation Call.playAnnouncement() only allowed within an open call control dialog 
kbl1infn4:CCC_USER_1025.0009:2016/09/20-00:23:03.981403-25661-28403-CCC_USER_1025- at de.siemens.advantage.in.features.flexDTMF.actions.dtmfActions.impl.DTMFActionsController.playAnnounc 
ementList(DTMFActionsController.java:360) 
-- 

die obigen Leitungen sind mit einer Alarmen bezogen. Hier möchte ich einen solchen Alarm in meiner Protokolldatei auslassen.

Ich habe versucht mit grep -v 'RC USSDString' IN-201609201800.txt | more, aber dieser Befehl entfernt nur die Zeile, wo das gesuchte Muster grep -v 'RC USSDString' IN-201609201800.txt | more existiert, wo ich die gesamten Linien des Alarms entfernen wollen, wo Muster gefunden wird.

Edit: - Ich habe noch ein Alarm durch doppelten Bindestrich getrennt hinzugefügt

+0

'awk -v RS = "" IN-201609201800.txt' versuchen dies –

+1

Bitte geben Sie zwei Alarme, müssen Sie herausfinden, wie sie für andere getrennt sind. –

+0

@PS. es funktioniert nicht :(Ich habe einen weiteren Alarm hinzugefügt – Fshamri

Antwort

1

Ihre Alarme sind mit mehreren Leitungen Unter der Annahme und zwei Alarme werden mit jeweils getrennt andere von --.

awk -v RS="--" '{$1=$1} !/RC USSDString/' alarmfile 

Wenn Sie mehrere Zeichenfolge hinzufügen, dann vom Ausgang ausgeschlossen werden: '/ RC USSDString /'

awk -v RS="--" '{$1=$1} !/string-1/ || !/string-2/' alarmfile 
0

Was Sie tun müssen:

grep -Ev 'pattern1|pattern2|pattern3' file 
+0

Dadurch wird nur die Zeile entfernt, in der die Muster gefunden wurden. Ich möchte andere Linien im Alarm entfernen – Fshamri

Verwandte Themen