Programmation et script

Comment compter l'occurrence d'un caractère spécifique dans une chaîne ou un fichier à l'aide de bash

Comment compter l'occurrence d'un caractère spécifique dans une chaîne ou un fichier à l'aide de bash

Ci-dessous, vous pouvez trouver quelques conseils sur la façon de compter une occurrence de caractère spécifique dans un fichier ou dans une chaîne. Le's dit que nous avons une chaîne "Hello Bash":

$ String = "Hello Bash" $ echo $ String Hello Bash 

En utilisant Bash Shell, nous pouvons désormais compter une occurrence d'un caractère donné. Par exemple, comptons le nombre d'occurrences d'un personnage l:

$ echo $ string | sed -e 's / \ (.\) / \ 1 \ n / g '| grep l | wc -l 2 

Le sed La commande sépare d'abord toute chaîne donnée à plusieurs lignes. Où chaque ligne contient un seul caractère:

$ echo $ string | sed -e 's / \ (.\) / \ 1 \ n / g 'h e l l o b a s h 

Après cela, nous pouvons utiliser grep commande pour rechercher uniquement des caractères spécifiques. Dans ce cas, nous imprimons uniquement le caractère l:

$ echo $ string | sed -e 's / \ (.\) / \ 1 \ n / g '| grep l l l 

Ce qui reste est d'utiliser wc -l Pour simplement compter les lignes:

$ echo $ string | sed -e 's / \ (.\) / \ 1 \ n / g '| grep l | wc -l 2 

La même stratégie peut également être utilisée pour compter une occurrence de caractère dans un fichier. La commande ci-dessous Bash Shell compte combien de fois un personnage l apparaît dans le fichier / etc / services:

 $ cat / etc / services | sed -e 's / \ (.\) / \ 1 \ n / g '| grep l | WC -L 9298 

Pourtant, une autre alternative pour compter l'occurrence du caractère est d'utiliser --uniquement par correspondance ou -o Option pour imprimer uniquement les caractères correspondants:

$ grep -o l / etc / services | WC -L 9298 
Introduction à la vision par ordinateur avec la bibliothèque OpenCV sur Linux
Résumé Le but de ce document est d'aider un lecteur à démarrer avec la bibliothèque de vision par ordinateur OpenCV sur le système Linux. OpenCCV est ...
Comment se réveiller sur l'hôte pris en charge LAN sur le réseau à l'aide de Linux
Comment se réveiller sur l'hôte pris en charge LAN sur le réseau à l'aide de Linux...
Changez les priorités des processus Linux avec Nice et Renice
Chaque processus exécuté sur le système Linux a une priorité par défaut attribuée qui indique au système combien la puissance de traitement doit être ...