Wie lösche ich mit grep mehrfach vorhandene Zeilen in einer Log-Datei, die das Muster (LOCAL\buchstaben.punk.buchstaben) enthalten, bis auf eine?

Antwort

Um in einer Log-Datei alle mehrfachen Zeilen zu löschen, die das Muster `(LOCAL\buchstaben.punk.buchstaben)` enthalten, bis auf eine, kannst du `awk` in Kombination mit `grep` verwenden. Hier ist ein Beispiel, wie du das machen kannst: ```bash grep 'LOCAL\\[a-zA-Z]\+\.[a-zA-Z]\+\.[a-zA-Z]\ logfile.log | awk '!seen[$0]++' ``` In diesem Befehl: 1. `grep 'LOCAL\\[a-zA-Z]\+\.[a-zA-Z]\+\.[a-zA-Z]\+' logfile.log` filtert die Zeilen, die das Muster enthalten. 2. `awk '!seen[$0]++'` sorgt dafür, dass nur die erste Vorkommen jeder Zeile ausgegeben wird. Ersetze `logfile.log` durch den Namen deiner Log-Datei.

Kategorie: Technik Tags: Grep Log Regex
Frage stellen und sofort Antwort erhalten