Suchen nach einem Programm wie tail
oder, mit less
dem ich meine Protokolle ohne Zeilen mit einer bestimmten Zeichenfolge anzeigen kann. Zum Beispiel mein Syslog ohne UFW ( [UFW BLOCK]
) -Eingabezeilen anzeigen .
command-line
less
John Gr.
quelle
quelle
less
die Möglichkeit bietet, die angezeigten Linien nach einem regulären Ausdruck zu filtern. Sie können diese Funktion verwenden, indem Sie&
gefolgt von dem Muster eingeben , und Sie können sie durch&
alleiniges Eingeben wiederherstellen.Antworten:
Die Pattern Match Inversion Option
-v
fürgrep
ist dabei sehr hilfreich:Dies zeigt Ihnen alle Zeilen, die nichts enthalten
UFW BLOCK
. Dagrep
Anwendungen grundlegende reguläre Ausdrücke standardmäßig die Aufnahme der Klammern wird es für jede der einzelnen Zeichen von ‚UFW BLOCK‘ einschließlich der Raum machen suchen. Sie werden wahrscheinlich ohne Ausgabe enden. Wenn Sie sicherstellen möchten , dass sich um die Zeichenfolge herum Klammern befinden, schließen Sie diese entweder\[UFW BLOCK\]
oder verwenden Sie die-F
Optiongrep
, nur feste Zeichenfolgen einzuschließen (Vielen Dank an Zanna und Steeldriver für die entsprechenden Hinweise):Sie können die Anzeige vereinfachen, indem Sie die Ausgabe an einen Pager wie folgt weiterleiten
less
:Oder leiten Sie die Ausgabe zur späteren Anzeige in eine Datei in Ihrem Ausgangsverzeichnis um:
quelle
fgrep
Befehl verwenden, der äquivalent zu istgrep -F
.Sie können auch
sed
dend
Befehl von verwenden, um die Zeilen mit dem Muster aus dem Stream zu löschen:Wir fliehen
[]
wie gewohnt, sie bezeichnen eine Charakterklasse, was bedeutet, dass "hier drinnen alles passt".quelle
Sie können jedes Werkzeug mit Bearbeitungsfunktionen verwenden. Sie haben bereits Lösungen mit
grep
und erhaltensed
. Hier sind einige andere Optionen. Alle diese Faktoren können leicht geleitet werdenless
odermore
sonst oder sonst etwas.Perl
Da dies Perl ist, ist TIMTOWDI! .
awk
quelle
Sie können auch verwenden
awk
:Ich benutze es, wenn ich mehr als ein "Muster" habe und nicht zwei verwenden möchte,
grep
wie:welche die syntax ist:
quelle
grep -Ev "foo|bar"
?-e
mehrere Muster definieren.grep -v -e 'foo' -e 'bar'
Mit
less
der&
Option des Befehls ist es möglich herauszufiltern, um nur das gewünschte übereinstimmende Muster wie folgt anzuzeigen.Wenn in Ihrem Fall Filterzeilen mit
UFW BLOCK
nicht in der Ausgabe angezeigt werden sollen, können Sie einfach&!
Folgendes verwenden:quelle