Hello,
J'aimerais savoir combien de fois apparait un certain mot dans un fichier de log...
Quelqu'un connait il une méthode efficace ?
Merci !
Hello,
J'aimerais savoir combien de fois apparait un certain mot dans un fichier de log...
Quelqu'un connait il une méthode efficace ?
Merci !
grep
par contre, si le mot est 2 fois dans la ligne, grep ne le comptera qu'une seule fois.
je te dirais,
cat monFichier | grep monMot | wc -l
Ca te renvera le nombre ligne comportant monMot dans monFichier
Par contre comme dit precedemment si le mot est present deux fois sur la meme ligne il ne sera compter qu une fois
peu etre long si les fichiers de log sont gros.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #!/bin/ksh typeset -i mCnt=0 mWord=$1 for mEach in `cat input_file` do if [ "${mEach}" = "${mWord}" ]; then mCnt=${mCnt}+1 fi done echo "Nombre de mots ${mWord} = ${mCnt}"
avec awk
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 awk -F "monMot" '{s+=(NF-1)} END {print s}' monFichier.log
heu...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 cat monFichier foo bar baz bar foo bar baz foo baz foo bar baz grep -o bar monFichier | wc -l 4
Bonjour,
Ne disposant pas de l'option -o sur la version de grep que j'ai, est-ce que la chose suivante ne fonctionnerait pas :
En effet, je ne vois pas la nécessité de passer par wc alors que grep -c fait normalement la même chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part grep -oc bar mon_fichier
-c ne donnera pas le resultat attendu:
Cette option est imposee par POSIX et a ete correctement implementee dans GNU grepEnvoyé par page man de grep
Un problème tout de même :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $ cat monFichier je mange tu manges il mange nous mangeons vous mangez ils mangent $ grep -o mange monFichier | wc -l 6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $ cat monFichier je mange tu manges il mange nous mangeons vous mangez ils mangent $ grep -o "\<mange\>" monFichier | wc -l 2
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager