|
From: | Lawrence Waclawiak |
Subject: | Re: [shell-script] Re: Contar linhas iguais |
Date: | Sat, 17 Apr 2010 10:54:00 -0300 |
User-agent: | Thunderbird 2.0.0.24 (X11/20100317) |
A solução que consegui e funcionou 100% foi a seguinte: lbw@lbw-laptop:~$ cat teste #!/bin/bash echo -n "01 01 01 01 05 05 11 11 11 "|uniq -c |sed 's/^ *//;s/ / - /' lbw@lbw-laptop:~$ ./teste 4 - 01 2 - 05 3 - 11O uniq -c conta as ocorrências mas não coloca no formato que você precisa, então utilizando o sed nós substituímos os espaços em branco no inicio da linha por nada. A expressão regular ^ * representa o inicio da linha seguido de indeterminados espaços em branco, ou seja, até encontrar algo diferente de um espaço, depois a segunda expressão substitui o espaço em branco entre o índice e o número real por " - " espaço - espaço.
Feito. Primeira participação na lista, espero que ajude. Abraços shelleiro escreveu:
Desculpe, mas não alterei o assunto quando respondi e ficou o assunto como :Re: Resumo 3701 Dá uma olhada nele OK !!! Cordialmente, Marcelo G. Dias Vulgo : Bahianeiro--- Em address@hidden <mailto:shell-script%40yahoogrupos.com.br>, Alain Mouette <alainm@...> escreveu> > Estou criando um script para analizar um arquivo de log de erros... > empaquei no final então venho aqui pedir ajuda aos universitários :) > > Depois de limpara a parte inútil, consegui uma lista de códigos de 2 > dígitos assim: > 01 > 01 > 01 > 01 > 05 > 05 > 11 > 11 > 11 > > E gostaria de algo assim: > 01 - 4 > 05 - 2 > 11 - 3 > > Ou seja quero saber quantas vezes cada código apareceu no arquivo. > > Alguma ideia? > Grato, > Alain >
[Prev in Thread] | Current Thread | [Next in Thread] |