Recherche d'un programme comme tail
ou less
qui m'a permis de visualiser mes journaux sans lignes contenant une certaine chaîne. Par exemple, affichez mon syslog sans [UFW BLOCK]
lignes d'entrée UFW ( ).
command-line
less
John Gr.
la source
la source
less
offre la possibilité de filtrer les lignes affichées après un modèle d'expression régulière. Vous pouvez utiliser cette fonctionnalité en tapant&
suivi du motif, et vous pouvez le rétablir en tapant&
seul.Réponses:
L'option d'inversion de correspondance de modèle
-v
pourgrep
est vraiment utile pour cela:Cela vous montrera toutes les lignes ne contenant pas
UFW BLOCK
. Commegrep
utilise les expressions régulières de base par défaut, l'inclusion des crochets lui fera rechercher n'importe lequel des caractères individuels de 'BLOC UFW' y compris l'espace. Vous vous retrouverez probablement sans sortie. Si vous devez vous assurer qu'il y a des crochets autour de la chaîne, échappez-les\[UFW BLOCK\]
ou utilisez l'-F
option d'grep
inclure uniquement les chaînes fixes (Merci à Zanna et Steeldriver pour les conseils à ce sujet):Vous pouvez faciliter la visualisation en canalisant la sortie vers un pager comme
less
:Ou redirigez la sortie vers un fichier de votre répertoire personnel pour une visualisation ultérieure:
la source
fgrep
commande équivalente àgrep -F
.Vous pouvez également utiliser
sed
lad
commande de pour supprimer les lignes avec le motif du flux:Nous nous échappons
[]
car ils désignent normalement une classe de caractères, ce qui signifie "faire correspondre tout ce qui se trouve ici"la source
Vous pouvez utiliser n'importe quel outil avec des capacités d'édition. Vous avez déjà reçu des solutions en utilisant
grep
etsed
, voici quelques autres choix. Tous ces éléments peuvent facilement être raccordés àless
oumore
ou autre chose.Perl
Puisque c'est Perl, TIMTOWDI! .
awk
la source
Vous pouvez
awk
également utiliser :Je l'utilise quand j'ai plus d'un "motif" et je ne veux pas en utiliser deux
grep
comme:dont la syntaxe est:
la source
grep -Ev "foo|bar"
?-e
pour définir plusieurs modèles.grep -v -e 'foo' -e 'bar'
Avec
less
l'&
option de la commande, il est possible de filtrer pour afficher uniquement le motif correspondant souhaité comme ci-dessous,dans votre cas, si vous souhaitez que les lignes de filtre avec
UFW BLOCK
ne s'affichent pas en sortie, vous pouvez simplement utiliser&!
comme ci-dessous:la source