Count no arquivo

1. Count no arquivo

Felipe Duran de Aquino
Felipe09

(usa Outra)

Enviado em 05/06/2020 - 15:56h

Galera boa tarde.

Preciso contar quantas linhas tem no arquivo, o arquivo tem 6 colunas então estou tentando o seguinte comando:

cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep 2020-05-27 | cut -d ";" -f 9,2 | sort | uniq -u | wc -l

o resultado está sendo:

9901523

precisava que mostrasse a data e o valor do count:

2020-05-27; 9901523

alguem pode ajudar?


  


2. Re: Count no arquivo

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/06/2020 - 20:14h

Felipe09 escreveu:

Galera boa tarde.

Preciso contar quantas linhas tem no arquivo, o arquivo tem 6 colunas então estou tentando o seguinte comando:

cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep 2020-05-27 | cut -d ";" -f 9,2 | sort | uniq -u | wc -l

o resultado está sendo:

9901523

precisava que mostrasse a data e o valor do count:

2020-05-27; 9901523

alguem pode ajudar?

Boa noite felipe.
Segue sugestão;
data="2020-05-27"
echo "$data;$(cat arquivo.txt*|grep -c "$data")"

Obs.:
coloquei o "cat", pq, conforme o seu exemplo, entendi que são vários arquivos.
Caso tenha entendido errado, faça:
echo "$data;$(grep -c "$data" arquivo.txt)"


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: Count no arquivo

Felipe Duran de Aquino
Felipe09

(usa Outra)

Enviado em 05/06/2020 - 21:26h

Marcelo,

Obrigado pelo comando,

O resultado que espero é este mesmo, porem a data não pode ser definida teria que vir ca coluna 9, estava pensando em awk.

[raid@snelnxx13 in]$ echo "$2020-05-27 $(cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep -c "$")"
020-05-27 9935564





4. Re: Count no arquivo

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/06/2020 - 21:47h

Felipe09 escreveu:

Marcelo,

Obrigado pelo comando,

O resultado que espero é este mesmo, porem a data não pode ser definida teria que vir ca coluna 9, estava pensando em awk.

[raid@snelnxx13 in]$ echo "$2020-05-27 $(cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep -c "$")"
020-05-27 9935564

Não entendo o motivo pelo qual não pode definir a data, sendo que no seu comando:
cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep 2020-05-27 | cut -d ";" -f 9,2 | sort | uniq -u | wc -l 

é definida no grep.....
Esclareça, por favor.

Sugestão com awk,
*Registra e Conta cada ocorrência do "campo 9", o grep filtra o que quer ver
awk -F";"  '{data[$9]++;count++;}END{ for (a in data)print a";"data[a]}' arquivo.txt*|grep "DATA_QUE_ QUER_MOSTRAR"
Ou, direto ao ponto.....
awk -F";" '/2020-05-27/ {data[$9]++;count++;}END{ for (a in data) print a";"data[a]}' arquivo.txt*


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


5. Re: Count no arquivo

Felipe Duran de Aquino
Felipe09

(usa Outra)

Enviado em 05/06/2020 - 22:19h

msoliver escreveu:

Felipe09 escreveu:

Marcelo,

Obrigado pelo comando,

O resultado que espero é este mesmo, porem a data não pode ser definida teria que vir ca coluna 9, estava pensando em awk.

[raid@snelnxx13 in]$ echo "$2020-05-27 $(cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep -c "$")"
020-05-27 9935564

Não entendo o motivo pelo qual não pode definir a data, sendo que no seu comando:
cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep 2020-05-27 | cut -d ";" -f 9,2 | sort | uniq -u | wc -l 

é definida no grep.....
Esclareça, por favor.

Sugestão com awk,
*Registra e Conta cada ocorrência do "campo 9", o grep filtra o que quer ver
awk -F";"  '{data[$9]++;count++;}END{ for (a in data)print a";"data[a]}' arquivo.txt*|grep "DATA_QUE_ QUER_MOSTRAR"
Ou, direto ao ponto.....
awk -F";" '/2020-05-27/ {data[$9]++;count++;}END{ for (a in data) print a";"data[a]}' arquivo.txt*


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Marcelo,

Obrigado pelo comando,

O resultado que espero é este mesmo, porem a data não pode ser definida teria que vir ca coluna 9, estava pensando em awk.

[raid@snelnxx13 in]$ echo "$2020-05-27 $(cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep -c "$")"
020-05-27 9935564


Então Marcelo a coluna 9 é a data do registro, toda a coluna 9 terá a mesma data no caso. o que preciso é contar quantas registros tem na linha 2 por isso que no meu comando tento trazer no cut as linhas 9 e 2.


6. Re: Count no arquivo

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 07/06/2020 - 19:03h

Felipe09 escreveu:

msoliver escreveu:

Felipe09 escreveu:

Marcelo,

Obrigado pelo comando,

O resultado que espero é este mesmo, porem a data não pode ser definida teria que vir ca coluna 9, estava pensando em awk.

[raid@snelnxx13 in]$ echo "$2020-05-27 $(cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep -c "$")"
020-05-27 9935564

Não entendo o motivo pelo qual não pode definir a data, sendo que no seu comando:
cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep 2020-05-27 | cut -d ";" -f 9,2 | sort | uniq -u | wc -l 

é definida no grep.....
Esclareça, por favor.

Sugestão com awk,
*Registra e Conta cada ocorrência do "campo 9", o grep filtra o que quer ver
awk -F";"  '{data[$9]++;count++;}END{ for (a in data)print a";"data[a]}' arquivo.txt*|grep "DATA_QUE_ QUER_MOSTRAR"
Ou, direto ao ponto.....
awk -F";" '/2020-05-27/ {data[$9]++;count++;}END{ for (a in data) print a";"data[a]}' arquivo.txt*


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Marcelo,

Obrigado pelo comando,

O resultado que espero é este mesmo, porem a data não pode ser definida teria que vir ca coluna 9, estava pensando em awk.

[raid@snelnxx13 in]$ echo "$2020-05-27 $(cat traftar_pre_pago_dados_20200527_20200531000005.txt* | grep -c "$")"
020-05-27 9935564


Então Marcelo, a coluna 9 é a data do registro, toda a coluna 9 terá a mesma data no caso. o que preciso é contar quantas registros tem na linha 2 por isso que no meu comando tento trazer no cut as linhas 9 e 2.

Felipe, boa tarde.
Explica melhor, não entendi:
a coluna 9 é a data do registro, toda a coluna 9 terá a mesma data => OK, entendi
no caso. o que preciso é contar quantas registros tem na linha 2 NAO ENTENDI
por isso que no meu comando tento trazer no cut as linhas 9 e 2 NÃO ENTENDI, cut não "pega" linhas.....

Se deseja contar o nº de registros da linha 2 e 9, é só usar o awk.
awk  -F";" 'NR==2 || NR==9 {print $9";"NF}' <<< $(paste -d ";" data.txt*)
Ou:
awk -F";" 'NR~/^[29]$/ {print $9";"NF}' <<< $(paste -d ";" data.txt*)

OBS.:
ls -1 data.txt*
data.txt0
data.txt1
data.txt2
Se usar o comando:
awk  -F";" 'NR==2 || NR==9 {print $9";"NF}' data.txt* 

"Pega" a linha 2 e a 9 somente de data.txt0,
Se a ideia e pegar as linhas 2 e 9 de cada arquivo, use o paste, como sugerido.
É isso!!!
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


7. Re: Count no arquivo

Felipe Duran de Aquino
Felipe09

(usa Outra)

Enviado em 09/06/2020 - 11:32h

Olá boa tarde.

O que funcionol parcialmente foi [raid@snelnxx13 in]$ cat traftar_pre_pago_dados_20200527_20200531000005.txt | awk -F";" 'NR==2 {print $9";" $2}'
2020-05-27;11930001485

a coluna 2 é o numero de telefone, preciso de um count na coluna 2.





8. Re: Count no arquivo

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/06/2020 - 18:42h

Felipe09 escreveu:

Olá boa tarde.

O que funcionol parcialmente foi [raid@snelnxx13 in]$
cat traftar_pre_pago_dados_20200527_20200531000005.txt | awk -F";" 'NR==2 {print $9";" $2}'
2020-05-27;11930001485

a coluna 2 é o numero de telefone, preciso de um count na coluna 2.

Felipe, tô tentando te ajudar, mas, me ajude..... Rsrsrs
No início, era o número de registros,
depois,... um count do campo 9,
mais tarde, linhas 9 e 2 e,
agora, count do campo 2, assim fica difícil.....
Me ajude que te ajudarei!!!
NR é o nº do registro, nº da linha.
No seu comando, só mostra os campos 2 e 9 da linha dois.
Defina realmente o que quer, e poste o arquivo.....
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts