Como contar a ocorrência de um personagem específico em uma string ou arquivo usando bash
- 3556
- 927
- Robert Wunsch DVM
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