6
votes

Détermination du nombre de mots en utilisant Grep (dans les cas où il y a plusieurs mots dans une ligne)

est-il possible de déterminer le nombre de fois qu'un mot particulier apparaît à l'aide de Grep

J'ai essayé l'option "-c", mais cela renvoie le nombre de lignes de correspondance que le mot particulier apparaît dans

Par exemple si j'ai un fichier avec

Certains mots et mots assortis et mots assortis mots

et ensuite un autre mot de correspondance

exécutant grep sur ce fichier pour "MatchtingWord" avec l'option "-C" ne renvoie que 2 ...

Remarque: il s'agit de l'utilitaire de ligne de commande Grep sur un système d'exploitation UNIX standard


0 commentaires

3 Réponses :


9
votes

Grep -O String Fichier retournera toutes les occurrences correspondantes de la chaîne. Vous pouvez alors faire le fichier grep -o string | wc -l pour obtenir le compte que vous recherchez.


1 commentaires

Savez-vous si je peux ignorer le cas lorsque je recherche des occurrences correspondantes ... essayé l'option -i avec la commande ci-dessus, mais cela n'a pas fonctionné



0
votes

Je pense que l'utilisation du fichier grep -i -o string | WC -L devrait vous donner la sortie correcte, que se passe-t-il lorsque vous faites le fichier Grep -i -O String dans le fichier?


0 commentaires

0
votes

Vous pouvez simplement compter les mots ( -w ) avec wc programme: xxx


1 commentaires

Cela compte le nombre total de mots dans les lignes correspondantes, pas le nombre total d'un mot particulier. Par exemple, echo "foo bar foo" | grep "foo" | WC -W renvoie 3 .