Je suis en train de parcourir de nombreux journaux inconnus à la recherche de problèmes. Le premier fichier que je regarde est Events.log, et je reçois au moins trois pages dans less
lesquelles semblent afficher le même événement à des moments différents - un événement qui semble être assez bénin. Je voudrais filtrer cet événement, et actuellement je quitte less
et fais quelque chose comme
grep -v "event text" Events.log | less
Cela apporte maintenant un certain nombre d’événements courants, sans intérêt que je voudrais également filtrer. Est - il possible que je peux à l' grep -v
intérieur de less
? Plutôt que d'avoir à faire
egrep -v "event text|something else|the other thing|foo|bar" Events.log | less
Cela me semble être une fonctionnalité utile lorsque l’on regarde un fichier journal - et si ce less
n’est pas l’outil, en existe-t-il un autre qui possède les qualités que je recherche? Juste une less
visionneuse de style avec construit en grep
.
less
, utiliser' &! <1stpattern> 'me permet de' masquer 'les lignes avec un motif, mais cela ne s'applique qu'à un motif à la fois, donc si je trouve un second motif et applique' &! <2ndpattern> ', les lignes correspondant au premier motif et masquées sont maintenant visibles. Tellement proche!&!
puis appuyez sur une touche fléchée.less
. Je ne sais pas si c'est conservé après le redémarrage, cependant.S'appuyant sur la réponse d'Orion , la
less(1)
page de manuel décrit(Bien sûr
^N
et^E
, etc., représentent Ctrl+ Net Ctrl+ E, etc.)Il se trouve que et bien ensemble. Par exemple, les commandes
&pattern
/pattern
&!arp|dns
Enter/
Ctrl+Kfail|fatal|fault|sd[a-z][0-9]
Entertapé dans un ordre quelconque, cachera (exclure) toutes les lignes contenant
arp
oudns
(commegrep -v
), puis, dans les lignes restantes, mettent en évidence toutes les occurrencesfail
,fatal
,fault
ou tout ce qui ressemble au nom d'un périphérique SCSI (sd[a-z][0-9]
). Notez que les lignes contenantarp
oudns
, ainsi quefail
tous les autres mots de danger, ne seront pas affichées.la source
Au cours des derniers mois, je suis devenu un peu amoureux
fzf
.Dans votre cas, aussi longtemps que le contexte n'est pas nécessaire (soit l'équivalent de ce grep
-A
,-B
ou-C
n'est pas nécessaire, et par la manière, moins&
s'a aussi la même limitation), puis est FZF un outil très puissant.Voici un exemple stupide:
Si vous exécutez cela et jouez avec des entrées comme
aa | bb dd | ee !gg !hh
celle-ci, vous verrez rapidement ce qui se passe.La documentation de Fzf sur l'
|
opérateur est rare, mais je suppose que cela ne s'applique qu'aux termes immédiatement avant et après, ce qui signifie en fait que OR a priorité sur AND (ce qui est implicite ; tous les termes sont AND-ed par défaut). . Mais dans la plupart des cas, cela ne devrait pas être un problème, et les choses se passent bien dans mon expérience.Donner un coup de feu. Je l'ai trouvé étonnamment utile pour naviguer lorsque je ne suis pas vraiment sûr de ce que je cherche et que le contexte n'a pas d'importance.
la source