Ich muss Warnungen aus meinem Skript-Protokoll und fügen Sie eine "LAST" zu jeder Zeile nach jedem Start, so dass ich weiß, wenn die Warnung auf einen Blick auftritt, so füge ich dies zu meinem Skript: Dies ist die Faust Linie meiner Skript:Bash-Log-Datei zählen Wörter und ersetzen sie durch Nummer
echo "$(cat $ALERT_LOG_FILE | grep WARNING | tail -n 2k | ts "LAST ")" > $ALERT_LOG_FILE
Script Protokoll wie dies auf den ersten Lauf aussieht: WARNING : ... WARNING : ... WARNING : ... WARNING : ...
Wenn Skript Start/Neustart des Echolinie fügt hinzu: „LAST“ zu jeder Zeile und mache es so: LAST WARNING : ... LAST WARNING : ... LAST WARNING : ... LAST WARNING : ...
Problem wird, wird die Protokolldatei wie dies nach einigen Neustarts: LAST 4 WARNING : .... LAST 3 WARNING : .... LAST 2 WARNING : .... LAST 2 WARNING : .... LAST 2 WARNING : .... LAST 1 WARNING : .... WARNING:
EDIT:
Code mit @Yoda Vorschlag:
LAST LAST LAST LAST WARNING : .... LAST LAST LAST WARNING : .... LAST LAST WARNING : .... LAST LAST WARNING : .... LAST WARNING : .... WARNING:
Jede Art und Weise es so zu machen,
cat $LOG_FILE | grep WARNING | tail -n 2k | ts "LAST " | awk '{n=gsub("LAST ",X);if(n) print "LAST",n,$0;else print}')" > $LOG_FILE
out Protokoll nach einigen Neustarts mit @Yoda Vorschlag: LAST 2 2 1 WARNING : ... LAST 2 1 WARNING : ... LAST 1 WARNING : ... WARNING : ...
Was ist der 'ts' Befehl? – janos
Ich glaube, der Befehl, den du suchst, ist "wc". – R4F6
ts fügt die "LETZTES" hinzu, um jede Zeile zu beginnen – papampi