Toutes mes excuses pour mon ignorance, je suis assez novice dans ce domaine.
J'essaie de lire un fichier journal en cours d'écriture par un simple démon. Ce que je voudrais faire est de filtrer ma sortie "en direct" sur certains "multiples" types.
Mes types sont: DEBUG|INFO|WARN|ERROR|FATAL
C’est ce que j’ai eu jusqu’à présent, et cela fonctionne pour un cas, je ne peux pas le faire fonctionner pour plusieurs cas.
tail -f log.txt | grep INFO
J'ai essayé une couple de choses pour essayer de dire que je veux « WARN
« s et ERROR
d » » mais rien ne fonctionne vraiment pour moi. Comment pourrais-je corriger cela?
Merci
grep -E
fonctionne également.En plus de passer à
egrep
/grep -E
pour obtenir l'opérateur d'alternance d'expressions régulières étendues, vous pouvez également utiliser plusieurs-e
arguments pour des expressions régulièresgrep
ou mêmefgrep
/grep -F
En fait, si vos recherches sont toutes des chaînes statiques (comme la question initiale), vous pouvez même «rétrograder» jusqu’à
fgrep
/,grep -F
ce qui pourrait donner un coup de pouce à la vitesse (puisqu’il effectue toujours des comparaisons directes de chaînes sans expressions rationnelles).De plus, POSIX permet de séparer les motifs par des nouvelles lignes.
la source
Cela fonctionne aussi (régulier
grep
et échappe au caractère pipe):la source
egrep
ougrep -E
et le marqueur d'alternance non échappé (tuyau).