[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] contar Ocorrencias de Caracter no arquivo texto
From: |
Leandro Santiago |
Subject: |
Re: [shell-script] contar Ocorrencias de Caracter no arquivo texto |
Date: |
Tue, 2 Oct 2007 15:37:48 -0400 |
Kra, há um tempo atrás eu fiz algo do tipo, mas que verificava somente para
uma string. Se vc tomar um texto como sendo um conjunto de strings, funciona
legal. Mas tem o problema de ser bastante lento, pois se utiliza de vários
laços...
Tem a seguinte cara:
VezCarac()
{
A="$1"
Tamanho=${#A}
((cont=0))
for ((i=Tamanho-1;i>=0;i--))
do
[ "${A:$i:1}" = "$2" ] && ((cont++))
done
echo $cont
}
Essa função recebe dois parâmetros: uma string e um caractere. Veja o seu
uso:
*$ VezCarac "Viva o Linux" i*
2
Ou seja, o caractere 'i' aparece suas vezes na string "Viva o Linux".
Tendo um texto, que é um conjunto de linhas, aplique essa função para cada
linha, mas incrementando numa variável, em vez de exibi-la.... Ou não
zerando a variável count, como eu fiz no começo da função..
Deixo claro que esta é uma solução ruim e lenta. Muito lenta. Mas como eu
sou um burro em se tratando e=de expressões regulares (sed, etc) e como já
conheço um pouco de outras linguagens, procuro utilizar isto para resolver
os problemas que aparecem...
Falow;...
[As partes desta mensagem que não continham texto foram removidas]