Como contar a ocorrência de um personagem específico em uma string ou arquivo usando bash

Como contar a ocorrência de um personagem específico em uma string ou arquivo usando bash

Abaixo, você pode encontrar algumas dicas sobre como contar uma ocorrência de caracteres específicos em um arquivo ou em uma string. Le's diz que temos uma string "Hello Bash":

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

Usando Bash Shell, agora podemos contar uma ocorrência de qualquer personagem. Por exemplo, vamos contar o número de ocorrências de um personagem eu:

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

O sed O comando primeiro separa qualquer string de várias linhas. Onde cada linha contém um único caractere:

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

Depois disso, podemos usar grep comando para pesquisar apenas caracteres específicos. Nesse caso, imprimimos apenas o personagem eu:

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

O que resta é usar wc -l Para simplesmente contar as linhas:

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

A mesma estratégia também pode ser usada para contar uma ocorrência de personagem em um arquivo. O comando abaixo do shell Bash conta quantas vezes um personagem eu aparece no arquivo /etc/serviços:

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

No entanto, outra alternativa para contar a ocorrência de caráter é usar o Grep's --apenas correspondendo ou -o opção para imprimir apenas caracteres correspondentes:

$ grep -o l /etc /serviços | WC -L 9298 

Tutoriais do Linux relacionados:

  • Como grep corretamente para texto em scripts de bash
  • Subshells avançados de Linux com exemplos
  • Expressões regulares do Python com exemplos
  • Bash Regex avançado com exemplos
  • Mastering Bash Script Loops
  • Script Bash: Hello World Exemplo
  • Bash regexps para iniciantes com exemplos
  • Como encontrar uma string ou texto em um arquivo no Linux
  • Exemplos úteis de linha de comando bash e exemplos de truques - Parte 1
  • Encontre todos os arquivos contendo texto específico