shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script-pt] Contagem por agrupamento


From: Tiago Peczenyj
Subject: Re: [shell-script-pt] Contagem por agrupamento
Date: Sun, 14 Jun 2020 21:23:05 +0200


Ps da pra fazer com awk puro mas tem q fazer mutretas com arrays associativos q no final vai ficar uma maçaroca por email

Mas a ideia seria vc ter um mapa arquivo -> contadores

Onde contadores é um mapa linha -> numero de ocorrências

Mas como arrays multidimensionais vc depende de OU uma versão de gawk específica OU usar um separador especial pra fazer algo como

mapa [ arquivo + linha ] -> contador

E isso me dá preguiça 

Em dom, 14/06/2020 às 21:06, Tiago Peczenyj <tiago.peczenyj@gmail.com> escreveu:
Vamos la, eu acho que entendi...

Da pra fazer em 2 etapas. Primeiro gera os arquivos parciais 

awk '{ print $0 >> “arq.parcial.” $2 “.txt” }' arqtotal.txt

Vai classificar seus arquivos pela segunda coluna

O que vc quer depois pode ser feito de N formas, a cada arquivo.

Uma forma legível é:

for i in arq.parcial.* ; do
  echo “tratando $i”
  TOTAL=$( sort $i | uniq | wc -l )
  echo “saidas: $TOTAL” >> $i
done
 
Eu tive q fazer algo parecido recentemente. Então está fresco na cabeça 

Em dom, 14/06/2020 às 20:02, PY2YP <py2yp@py2yp.com> escreveu:
Senhores, minhas boas tardes. Tenho uma arquivo com este formato:
arqtotal.txt
aaa 40
aaa 40
bb 30   
ccccc 40
dddd 30
aaaa 20
ffsf 10
hgjf 10
dfasa 30
ffsa 20
bb 30

Além de contar as ocorrências, eliminar as linhas repetidas.
Saída:
10 = 2
20 = 2
30 = 3
40 = 2

Consegui, sem maiores complicações, contar as ocorrências agrupadas,
isto é, filtradas pela 2 coluna conforme abaixo
arq40.txt
aaa 40
aaa 40
ccccc 40
saída: 2

arq30.txt
bb 30
dddd 30
dfasa 30
bb 30
saida: 3

O que eu precio fazer é contar o número de ocorrências por agrupamento
(10, 20...) desconsiderando as ocorrências em duplicidade.
Desde já meus agradecimentos.

--
Cesar

_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
--
Tiago B. Peczenyj

http://about.me/peczenyj
--
Tiago B. Peczenyj

http://about.me/peczenyj

reply via email to

[Prev in Thread] Current Thread [Next in Thread]