Discussion:
[shell-script] Extrair_Dados_bz2
'Julio C. S. Ferraz' julio.ferraz@gmail.com [shell-script]
2017-05-05 12:09:53 UTC
Permalink
Pessoal,

Bom dia!

To quebrando a "mufa" pra fazer uma coisa:

- Estou tentando extrair de um log que não está com as linhas numeradas,
eu só consegui de fato saber as linhas quando eu abri esse arquivo com vim.
E além disso está compactado apenas em bz2.

Usei comando abaixo:

* bzip2 -dc **arq.log.bz2 |awk 'NR>=2792880 && NR<=2793334' arq.log.bz2 >>
/home/jferraz/evidencias_user_rj_OK.txt*

Só que não estou conseguindo!!

*E nada!! o arquivo sai zerado!!!*

-rw-r--r-- 1 jferraz users 0 May 5 08:45 evidencias_user_rj_OK.txt

Eu também tentei extrair dessa maneira aqui:

*bzip2 -dc arq.log.bz2 |sed -n '2792880,2793334p' >
/home/jferraz/evidencias_user_rj_OK.txt*

Com o arquivo aberto no* vim*, também tentei executar o comando à cima
depois de dar o* :! bzip2 -dc arq.log.bz2 |sed -n '2792880,2793334p' >
/home/jferraz/evidencias_user_rj_OK.txt*

*E nada!! o arquivo sai zerado!!!*

-rw-r--r-- 1 jferraz users 0 May 5 08:45 evidencias_user_rj_OK.txt


Pessoal, poderiam ajudar?

Obrigado.​
--
Att,

Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2017-05-05 12:46:16 UTC
Permalink
Antes de fazer uma proposta de solução, eu faria o seguinte teste:

- Fazendo bzip2 -dc arq.log.bz2 o arquivo é listado na tela?
- Caso positivo, faça:

$ bzip2 -dc arq.log.bz2 | cat -vet

E veja se aparecerão caracteres de controle.





Abcs,
Julio

*​Damos treinamento em sua empresa por *
*um preço, no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*

​​
Nosso time de instrutores *in company* é formado somente por
​
​
autores
​ ​
​
de
*Best Sellers​ ​*​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
Pessoal,
Bom dia!
- Estou tentando extrair de um log que não está com as linhas numeradas,
eu só consegui de fato saber as linhas quando eu abri esse arquivo com vim.
E além disso está compactado apenas em bz2.
* bzip2 -dc **arq.log.bz2 |awk 'NR>=2792880 && NR<=2793334' arq.log.bz2
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
/home/jferraz/evidencias_user_rj_OK.txt*
Só que não estou conseguindo!!
*E nada!! o arquivo sai zerado!!!*
-rw-r--r-- 1 jferraz users 0 May 5 08:45 evidencias_user_rj_OK.txt
*bzip2 -dc arq.log.bz2 |sed -n '2792880,2793334p' >
/home/jferraz/evidencias_user_rj_OK.txt*
Com o arquivo aberto no* vim*, também tentei executar o comando à cima
depois de dar o* :! bzip2 -dc arq.log.bz2 |sed -n '2792880,2793334p' >
/home/jferraz/evidencias_user_rj_OK.txt*
*E nada!! o arquivo sai zerado!!!*
-rw-r--r-- 1 jferraz users 0 May 5 08:45 evidencias_user_rj_OK.txt
Pessoal, poderiam ajudar?
Obrigado.​
--
Att,
Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
'Julio C. S. Ferraz' julio.ferraz@gmail.com [shell-script]
2017-05-05 12:57:20 UTC
Permalink
Xará,

*Sobre a sua primeira pergunta: - Sim o arq.log.bz2 é listado na tela
quando uso o comando:*
*bzip2 -dc arq.log.bz2*


*- Agora quando tento exibir os caracteres de controle: Sim ELES são
listados com o comando abaixo:*


*bzip2 -dc arq.log.bz2 | cat -vet*
Post by 'Julio C. Neves' ***@gmail.com [shell-script]
- Fazendo bzip2 -dc arq.log.bz2 o arquivo é listado na tela?
$ bzip2 -dc arq.log.bz2 | cat -vet
E veja se aparecerão caracteres de controle.
Abcs,
Julio
*​Damos treinamento em sua empresa por *
*um preço, no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*
​​
Nosso time de instrutores *in company* é formado somente por
​
​
autores
​ ​
​
de
Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
Pessoal,
Bom dia!
- Estou tentando extrair de um log que não está com as linhas numeradas,
eu só consegui de fato saber as linhas quando eu abri esse arquivo com vim.
E além disso está compactado apenas em bz2.
* bzip2 -dc **arq.log.bz2 |awk 'NR>=2792880 && NR<=2793334' arq.log.bz2
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
/home/jferraz/evidencias_user_rj_OK.txt*
Só que não estou conseguindo!!
*E nada!! o arquivo sai zerado!!!*
-rw-r--r-- 1 jferraz users 0 May 5 08:45 evidencias_user_rj_OK.txt
*bzip2 -dc arq.log.bz2 |sed -n '2792880,2793334p' >
/home/jferraz/evidencias_user_rj_OK.txt*
Com o arquivo aberto no* vim*, também tentei executar o comando à cima
depois de dar o* :! bzip2 -dc arq.log.bz2 |sed -n '2792880,2793334p' >
/home/jferraz/evidencias_user_rj_OK.txt*
*E nada!! o arquivo sai zerado!!!*
-rw-r--r-- 1 jferraz users 0 May 5 08:45 evidencias_user_rj_OK.txt
Pessoal, poderiam ajudar?
Obrigado.​
--
Att,
Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
--
Att,

Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2017-05-05 15:48:53 UTC
Permalink
Vc poderia nos mostrar um pedaço do que é gerado com o cmd

$ bzip2 -dc arq.log.bz2 | cat -vet

ou é sigiloso?

Abcs,
Julio

*​Damos treinamento em sua empresa por *
*um preço, no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*

​​
Nosso time de instrutores *in company* é formado somente por
​
​
autores
​ ​
​
de
*Best Sellers​ ​*​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
Xará,
*Sobre a sua primeira pergunta: - Sim o arq.log.bz2 é listado na tela
quando uso o comando:*
*bzip2 -dc arq.log.bz2*
*- Agora quando tento exibir os caracteres de controle: Sim ELES são
listados com o comando abaixo:*
*bzip2 -dc arq.log.bz2 | cat -vet*
Post by 'Julio C. Neves' ***@gmail.com [shell-script]
- Fazendo bzip2 -dc arq.log.bz2 o arquivo é listado na tela?
$ bzip2 -dc arq.log.bz2 | cat -vet
E veja se aparecerão caracteres de controle.
Abcs,
Julio
*​Damos treinamento em sua empresa por *
*um preço, no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*
​​
Nosso time de instrutores *in company* é formado somente por
​
​
autores
​ ​
​
de
Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
Pessoal,
Bom dia!
- Estou tentando extrair de um log que não está com as linhas
numeradas, eu só consegui de fato saber as linhas quando eu abri esse
arquivo com vim. E além disso está compactado apenas em bz2.
* bzip2 -dc **arq.log.bz2 |awk 'NR>=2792880 && NR<=2793334'
arq.log.bz2 >> /home/jferraz/evidencias_user_rj_OK.txt*
Só que não estou conseguindo!!
*E nada!! o arquivo sai zerado!!!*
-rw-r--r-- 1 jferraz users 0 May 5 08:45 evidencias_user_rj_OK.txt
*bzip2 -dc arq.log.bz2 |sed -n '2792880,2793334p' >
/home/jferraz/evidencias_user_rj_OK.txt*
Com o arquivo aberto no* vim*, também tentei executar o comando à cima
depois de dar o* :! bzip2 -dc arq.log.bz2 |sed -n '2792880,2793334p' >
/home/jferraz/evidencias_user_rj_OK.txt*
*E nada!! o arquivo sai zerado!!!*
-rw-r--r-- 1 jferraz users 0 May 5 08:45 evidencias_user_rj_OK.txt
Pessoal, poderiam ajudar?
Obrigado.​
--
Att,
Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
--
Att,
Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
itamarnet@yahoo.com.br [shell-script]
2017-05-05 15:00:44 UTC
Permalink
Caro Julio Ferraz

Se no seu sistema tiver o dos2unix no seu sistema pode colocar isso antes do sed ou awk:


$ bzip2 -dc arq.log.bz2 | dos2unix | [sed ou awk já citados]



Se não tiver dos2unix pode usar o sed para substituir, como é usado nas funcoeszz:
https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh



$ control_m=$(printf '\r')

$ bzip2 -dc arq.log.bz2 | sed "s/$control_m*$//" | [sed ou awk já citados]



Isso ajuda?


[]'s
Itamar
'Julio C. S. Ferraz' julio.ferraz@gmail.com [shell-script]
2017-05-05 15:13:07 UTC
Permalink
Itamar,

É o seguinte:

*com a linha do awk citada, o arquivo continua sendo gerado vazio, mesmo
usando o dos2unix*


*- Agora com o sed citado, eu to pegando as linhas de 1 à 455. E as linhas
que eu quero são: da 2792880 até 2793334. Sabe se preciso alterar mais
alguma coisa?*


*Segue abaixo o que executei e que extraiu algo:*

* bzip2 -dc arq.log.bz2| dos2unix | sed -n '2792880, 2793334p' >
/home/jferraz/evidencias_user_OK.txt*
Post by ***@yahoo.com.br [shell-script]
Caro Julio Ferraz
*$ bzip2 -dc arq.log.bz2 | dos2unix | [sed ou awk já citados]*
https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh
*$ control_m=$(printf '\r')*
*$ bzip2 -dc arq.log.bz2 | sed "s/$control_m*$//" | [sed ou awk já
citados]*
Isso ajuda?
[]'s
Itamar
--
Att,

Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
itamarnet@yahoo.com.br [shell-script]
2017-05-05 15:24:44 UTC
Permalink
Caro Julio Ferraz

O que fez com o sed deveria funcionar, então realmente não sei o que sugerir.


Mas algo que observei no caso do comando do awk há um erro, está assim:


bzip2 -dc arq.log.bz2 |awk 'NR>=2792880 && NR<=2793334' arq.log.bz2 >> /home/jferraz/evidencias_user_ rj_OK.txt



mas tente:


bzip2 -dc arq.log.bz2 | dos2unix | awk 'NR>=2792880 && NR<=2793334' >> /home/jferraz/evidencias_user_ rj_OK.txt



Espero que funcione.


[]'s
Itamar
phfbettega@yahoo.com.br [shell-script]
2017-05-05 15:41:48 UTC
Permalink
A linha 2792880 existe?
bzip2 -dc arq.log.bz2 | wc -l
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
Itamar,
*com a linha do awk citada, o arquivo continua sendo gerado vazio, mesmo usando o dos2unix*
*- Agora com o sed citado, eu to pegando as linhas de 1 à 455. E as linhas que eu quero são: da 2792880 até
2793334. Sabe se preciso alterar mais alguma coisa?*
*Segue abaixo o que executei e que extraiu algo:*
/ bzip2 -dc arq.log.bz2| dos2unix | sed -n '2792880, 2793334p' > /home/jferraz/evidencias_user_OK.txt/
__
Caro Julio Ferraz
/*$ bzip2 -dc arq.log.bz2 | dos2unix | [sed ou awk já citados]*/
https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh
<https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh>
/*$ control_m=$(printf '\r')*/
/*$ bzip2 -dc arq.log.bz2 | sed "s/$control_m*$//" | [sed ou awk já citados]*//*
*/
Isso ajuda?
[]'s
Itamar
--
Att,
Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Tiago Peczenyj tiago.peczenyj@gmail.com [shell-script]
2017-05-05 15:44:40 UTC
Permalink
Perfeito.

Eu sempre uso wc / head / tail pra entender o que acontece.

head + tail pode substituir esse awk. Mas ambos vão funcionar sob mesmo
princípio

AWK é flexível vc pode definir um RS (record separator) diferente do unix
newline padrao se necessário
Post by ***@yahoo.com.br [shell-script]
A linha 2792880 existe?
bzip2 -dc arq.log.bz2 | wc -l
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
Itamar,
*com a linha do awk citada, o arquivo continua sendo gerado vazio, mesmo
usando o dos2unix*
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
*- Agora com o sed citado, eu to pegando as linhas de 1 à 455. E as
linhas que eu quero são: da 2792880 até
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
2793334. Sabe se preciso alterar mais alguma coisa?*
*Segue abaixo o que executei e que extraiu algo:*
/ bzip2 -dc arq.log.bz2| dos2unix | sed -n '2792880, 2793334p' >
/home/jferraz/evidencias_user_OK.txt/
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
__
Caro Julio Ferraz
Se no seu sistema tiver o dos2unix no seu sistema pode colocar isso
/*$ bzip2 -dc arq.log.bz2 | dos2unix | [sed ou awk já citados]*/
Se não tiver dos2unix pode usar o sed para substituir, como é usado nas
https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh
<https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh>
/*$ control_m=$(printf '\r')*/
/*$ bzip2 -dc arq.log.bz2 | sed "s/$control_m*$//" | [sed ou awk já
citados]*//*
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
*/
Isso ajuda?
[]'s
Itamar
--
Att,
Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
----------------------------------------------------------
----------------------------------------------------------
--
Tiago B. Peczenyj

http://about.me/peczenyj
'Julio C. S. Ferraz' julio.ferraz@gmail.com [shell-script]
2017-05-05 15:59:33 UTC
Permalink
- Existe sim!

Itamar, após suas considerações agora, tanto o awk, quanto o sed estão
finalmente capturando alguma coisa no log. É um log gigantesco, em momento
anterior eu capturei com o comando abaixo qual o arquivo de log que
precisava verificar com as informações que me foram dadas:

*$ zgrep -EB1 'IDUSER' arq_log* > /home/jferraz/saida_IDUSER_.txt (isso
porque possuo muitos arquivos log.bz2 inumerados em ordem descrecente.*


*Depois, com a saida do *

*saida_IDUSER_.txt conseguir obter a informação do nome correto do
arq_log_ID.bz2 e fui ajudado por todos vocês para extrair corretamente
minhas saidas:*
conforme abaixo:


*$ control_m=$(printf '\r')$ **bzip2 -dc arq.log.bz2 | sed
"s/$control_m*$//" | sed -n '2792880, 2793334p' >
/home/jferraz/evidencias_user_OK.txt*

*O comando a cima Itamar funcionou PERFEITO, só mesmo estou tendo essas
divergências sobre as linhas, vou conferir novamente sobre essas linhas( *

*2792880 à 2793334) existir ou não.*

*O comando abaixo, após os olhos atentos do Itamar, também funcionou:*
*$ bzip2 -dc **arq.log.bz2 | dos2unix | awk 'NR>=2792880 && NR<=2793334'
Post by ***@yahoo.com.br [shell-script]
/home/**jferraz**/evidencias_user_OK.txt*
*Vou conferir novamente sobre essas linhas pessoal.*

*Obrigado.*
Post by ***@yahoo.com.br [shell-script]
A linha 2792880 existe?
bzip2 -dc arq.log.bz2 | wc -l
Itamar,
*com a linha do awk citada, o arquivo continua sendo gerado vazio, mesmo
usando o dos2unix*
*- Agora com o sed citado, eu to pegando as linhas de 1 à 455. E as
linhas que eu quero são: da 2792880 até
2793334. Sabe se preciso alterar mais alguma coisa?*
*Segue abaixo o que executei e que extraiu algo:*
/ bzip2 -dc arq.log.bz2| dos2unix | sed -n '2792880, 2793334p' >
/home/jferraz/evidencias_user_OK.txt/
__
Caro Julio Ferraz
Se no seu sistema tiver o dos2unix no seu sistema pode colocar isso
/*$ bzip2 -dc arq.log.bz2 | dos2unix | [sed ou awk já citados]*/
Se não tiver dos2unix pode usar o sed para substituir, como é usado nas
https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh
<https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh>
/*$ control_m=$(printf '\r')*/
/*$ bzip2 -dc arq.log.bz2 | sed "s/$control_m*$//" | [sed ou awk já
citados]*//*
*/
Isso ajuda?
[]'s
Itamar
--
Att,
Julio C S Ferraz
Office: +55 21 2757-9751 <(21)%202757-9751>
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
----------------------------------------------------------
----------------------------------------------------------
--
Att,

Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
'Julio C. S. Ferraz' julio.ferraz@gmail.com [shell-script]
2017-05-05 16:02:10 UTC
Permalink
*Tiago,*

Só pra sentir o drama:

veja:

$ bzip2 -dc arq.log.bz2 | wc -l
*3030775*
Post by ***@yahoo.com.br [shell-script]
A linha 2792880 existe?
bzip2 -dc arq.log.bz2 | wc -l
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
Itamar,
*com a linha do awk citada, o arquivo continua sendo gerado vazio, mesmo
usando o dos2unix*
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
*- Agora com o sed citado, eu to pegando as linhas de 1 à 455. E as
linhas que eu quero são: da 2792880 até
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
2793334. Sabe se preciso alterar mais alguma coisa?*
*Segue abaixo o que executei e que extraiu algo:*
/ bzip2 -dc arq.log.bz2| dos2unix | sed -n '2792880, 2793334p' >
/home/jferraz/evidencias_user_OK.txt/
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
__
Caro Julio Ferraz
Se no seu sistema tiver o dos2unix no seu sistema pode colocar isso
/*$ bzip2 -dc arq.log.bz2 | dos2unix | [sed ou awk já citados]*/
Se não tiver dos2unix pode usar o sed para substituir, como é usado nas
https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh
<https://github.com/funcoeszz/funcoeszz/blob/master/zz/zzdos2unix.sh>
/*$ control_m=$(printf '\r')*/
/*$ bzip2 -dc arq.log.bz2 | sed "s/$control_m*$//" | [sed ou awk já
citados]*//*
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
*/
Isso ajuda?
[]'s
Itamar
--
Att,
Julio C S Ferraz
Office: +55 21 2757-9751 <(21)%202757-9751>
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
----------------------------------------------------------
----------------------------------------------------------
--
Att,

Julio C S Ferraz
Office: +55 21 2757-9751
Mobile:+55 21 9 6689-9207
PGP fingerprint: *D6CB D768 040F 62AF 3A75 F2D4 7FF4 33D9 DB38 58C4*
Continue reading on narkive:
Loading...