Script Shell que consulta um arquivo de log atraves de informações vindas de outro arquivo texto. [R

1. Script Shell que consulta um arquivo de log atraves de informações vindas de outro arquivo texto. [R

Hayander Anantram Landi
hayander

(usa Slackware)

Enviado em 03/08/2017 - 14:32h

Olá Pessoal,

Estou tentando criar um script sem sucesso que faça a seguinte consulta:

Tenhos dois arquivos = placas.txt e logjboss.txt


Conteudo Arquivo placas.txt:
XXX0000
XXX0001
XXX0002
XXX0003

Conteudo logjboss.txt :
2017-08-03 14:20:11 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0000, Data Origem: 03/08/2017 14:20:06
2017-08-03 14:20:12 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0001, Data Origem: 03/08/2017 14:20:06
2017-08-03 14:20:13 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0002, Data Origem: 03/08/2017 14:20:06
2017-08-03 14:20:14 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0003, Data Origem: 03/08/2017 14:20:06
2017-08-03 14:20:15 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0004, Data Origem: 03/08/2017 14:20:06
2017-08-03 14:20:16 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0005, Data Origem: 03/08/2017 14:20:06


Hoje eu faço isso manualmente placa por placa assim: cat /opt/jboss../logjboss.txt | grep "Antena: 2 " | grep "Placa: XXX0000"

E a saida é exibida assim: 2017-08-03 14:20:11 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0000, Data Origem: 03/08/2017 14:20:06


O que eu preciso é que esse script consulte esse placas.txt e veja se existe alguma placa que está dentro desse arquivo que está em alguma linha tambem do arquivo logjboss.txt e me traga essas linhas encontradas mais somente se nessas linhas o código das placas começarem com os numero 1 ou 2.

Alguém consegue me ajudar.




  


2. Re: Script Shell que consulta um arquivo de log atraves de informações vindas de outro arquivo texto. [R

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 03/08/2017 - 15:02h

hayander escreveu:

que eu preciso é que esse script consulte esse placas.txt que estão uma em cada linha e me traga as linhas encontradas para todas essas placas dentro do arquivo logjboss.txt que as placas se iniciem com 1 ou 2.

Alguém consegue me ajudar.



velho ... eu não entedi muito bem o q vc quer ... faz assim ... poste um pequeno exemplo do conteudo dos 'txt' e a saída desejada ..


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



3. Alterei um pouco o post, vê se agora ajuda mais.

Hayander Anantram Landi
hayander

(usa Slackware)

Enviado em 03/08/2017 - 15:41h

Mauriciodez escreveu:

hayander escreveu:

que eu preciso é que esse script consulte esse placas.txt que estão uma em cada linha e me traga as linhas encontradas para todas essas placas dentro do arquivo logjboss.txt que as placas se iniciem com 1 ou 2.

Alguém consegue me ajudar.



velho ... eu não entedi muito bem o q vc quer ... faz assim ... poste um pequeno exemplo do conteudo dos 'txt' e a saída desejada ..


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------







4. Re: Script Shell que consulta um arquivo de log atraves de informações vindas de outro arquivo texto. [R

Jose Renan Assis
JoseRenan

(usa Ubuntu)

Enviado em 03/08/2017 - 16:13h

while read linha; do
cat /opt/jboss../logjboss.txt | grep "Antena: 2 " | grep "Placa: [1-2]XX0000";
break;
done < placas.txt



5. Re: Script Shell que consulta um arquivo de log atraves de informações vindas de outro arquivo texto

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 03/08/2017 - 16:21h

hayander escreveu:

que eu preciso é que esse script consulte esse placas.txt que estão uma em cada linha e me traga as linhas encontradas para todas essas placas dentro do arquivo logjboss.txt que as placas se iniciem com 1 ou 2.

Alguém consegue me ajudar.

Boa tarde Hayander.
Se eu entendi direito, é isso:
while read -r line;do
egrep "$line" LogJboss.txt
done<placas.txt

2017-08-03 14:20:11 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0000, Data Origem: 03/08/2017 14:20:06
2017-08-03 14:20:12 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0001, Data Origem: 03/08/2017 14:20:06
2017-08-03 14:20:13 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0002, Data Origem: 03/08/2017 14:20:06
2017-08-03 14:20:14 INFO ProdutorDeMensagemImpl:40 - Antena: 200001, Placa: XXX0003, Data Origem: 03/08/2017 14:20:06

Att.:
Marcelo Oliver




6. Nops

Hayander Anantram Landi
hayander

(usa Slackware)

Enviado em 03/08/2017 - 16:34h

É o seguinte:

Eu tenho uma lista de placas que funcionam como uma especie de blacklist. E meu jboss recebe no log uma serie de placas via equipamente OCR.
Essas lista negra fica em um txt(placas.txt) e eu preciso de um script que vá até o meu log do jboss(jboss.txt) e veja se a placa xxx0000 contida no arquivo placas.txt está lá(jboss.txt) e como ele me informa a linha"2017-08-03 16:32:07 INFO ProdutorDeMensagemImpl:40 - Antena: 700005, Placa: HDF0000, Data Origem: 03/08/2017 16:31:59" no log do jboss eu já queria aproveitar e que ele me mostre somente quanto a antena começar com os dígitos 1 e 2.



7. Re: Script Shell que consulta um arquivo de log atraves de informações vindas de outro arquivo texto. [R

Jose Renan Assis
JoseRenan

(usa Ubuntu)

Enviado em 03/08/2017 - 16:54h

hayander escreveu:

É o seguinte:

Eu tenho uma lista de placas que funcionam como uma especie de blacklist. E meu jboss recebe no log uma serie de placas via equipamente OCR.
Essas lista negra fica em um txt(placas.txt) e eu preciso de um script que vá até o meu log do jboss(jboss.txt) e veja se a placa xxx0000 contida no arquivo placas.txt está lá(jboss.txt) e como ele me informa a linha"2017-08-03 16:32:07 INFO ProdutorDeMensagemImpl:40 - Antena: 700005, Placa: HDF0000, Data Origem: 03/08/2017 16:31:59" no log do jboss eu já queria aproveitar e que ele me mostre somente quanto a antena começar com os dígitos 1 e 2.


Corrigindo:
#!/bin/bash
while read linha; do
cat logjboss.txt | grep $linha | grep 'Antena: [1-2]' ;
done < placas.txt

Assim o script vai lendo as linhas que estão em placas.txt e, para cada uma dessas linhas é feita uma pesquisa no logjboss.txt seguindo o filtro: conter a placa listada em placas.txt cuja antena começe com 1 ou 2.



8. Error

Hayander Anantram Landi
hayander

(usa Slackware)

Enviado em 03/08/2017 - 17:06h

JoseRenan escreveu:

hayander escreveu:

É o seguinte:

Eu tenho uma lista de placas que funcionam como uma especie de blacklist. E meu jboss recebe no log uma serie de placas via equipamente OCR.
Essas lista negra fica em um txt(placas.txt) e eu preciso de um script que vá até o meu log do jboss(jboss.txt) e veja se a placa xxx0000 contida no arquivo placas.txt está lá(jboss.txt) e como ele me informa a linha"2017-08-03 16:32:07 INFO ProdutorDeMensagemImpl:40 - Antena: 700005, Placa: HDF0000, Data Origem: 03/08/2017 16:31:59" no log do jboss eu já queria aproveitar e que ele me mostre somente quanto a antena começar com os dígitos 1 e 2.


Corrigindo:
#!/bin/bash
while read linha; do
cat logjboss.txt | grep $linha | grep 'Antena: [1-2]' ;
done < placas.txt

Assim o script vai lendo as linhas que estão em placas.txt e, para cada uma dessas linhas é feita uma pesquisa no logjboss.txt seguindo o filtro: conter a placa listada em placas.txt cuja antena começe com 1 ou 2.


Eu atualizei o caminho apenas das pastas, ele ficou assim:

while read linha; do
cat /home/debian/nohup.out | grep $linha | grep 'Antena: [1-2]' ;
done < /home/debian/placas.txt

mais ele roda um tempo e não traz nenhum resultado.(Tava vazio porque não tinha nada pra mostar)

Mto Obrigadoooooooooooooo








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts