Relatório em Shell Script
Preciso fazer um relatório em Shell Script para um trabalho de acesso à internet dos usuários. Onde as informações para cada usuário estarão assim :
date=2016-01-06 time=14:39:44 logid=0000000015 type=traffic subtype=forward level=notice vd=root srcip=157.86.21.20 srcport=49556 srcintf="vlx2-1" dstip=161.148.40.200 dstport=80 dstintf="port31" poluuid=bdd3c878-4385-51e5-1ca3-500d398a7f5c sessionid=443818184 proto=6 action=start user="RAFAELA.LUNGA" group="USR_GRP_PADRAO" policyid=48 dstcountry="Brazil" srccountry="Brazil" trandisp=snat transip=157.86.41.235 transport=49556 service="HTTP" duration=0 sentbyte=0 rcvdbyte=0 appcat="unscanned"
O relatório final deve ser mais ou menos como este: http://www.lintronix.com.br/imagens/...io-usuario.jpg
Nunca usei Shell Script para este fim, gostaria de algumas dicas.
Dúvida ! IMPORTANDO ARQUIVO EM SHELL SCRIPT
Eu tenho um arquivo .txt com várias informações sobre vários usuários de uma empresa. Cada usuário tem a informação como a seguir:
date=2016-01-06 time=14:39:44 logid=0000000015 type=traffic subtype=forward level=notice vd=root srcip=157.86.21.20 srcport=49556 srcintf="vlx2-1" dstip=161.148.40.200 dstport=80 dstintf="port31" poluuid=bdd3c878-4385-51e5-1ca3-500d398a7f5c sessionid=443818184 proto=6 action=start user="RAFAELA.LUNGA" group="USR_GRP_PADRAO" policyid=48 dstcountry="Brazil" srccountry="Brazil" trandisp=snat transip=157.86.41.235 transport=49556 service="HTTP" duration=0 sentbyte=0 rcvdbyte=0 appcat="unscanned"
Eu pretendo criar em Shell Script o seguinte, a pessoa procura através do nome do usuário e recebe todas essas informações nas quais eu colocarei de uma forma mais organizada (o arquivo bruto .txt é todo assim).
Como que eu faço pra poder importar as informações desse outro arquivo para o meu script e fazendo com que ele retorne SOMENTE as informações do usuário ao qual foi solicitado ?
Re: Relatório em Shell Script
Esse script é bem básico, a principio faz o que você pede só falta colocar os seus parametros, caso queira refinar sua pesquisa pode se definir onde se começa a copiar o arquivo ate o final dele, tudo depende do seu arquivo txt, e de como você quer salvar ele, existe muito material na internet, uma pesquisa rapida sobre salvar conteudo de texto com shell script vai tirar qualquer duvida que te restar.
##Script para buscar uma palavra dentro de um arquivo##
##Autor: Samuel Oliveira##
#!/bin/bash
#########funcoes do programa#########
#Recebe o que se deseja procurar
echo "Digite o nome que deseja buscar:"
read palavra
#comando para pesquisar dentro do arquivo, e cria um arquivo com a saida da pesquisa
grep -R $palavra "caminho do seu arquivo" > /lugar que você quer salvar o arquivo/$palavra.txt
#imprime na tela o que foi encontrado na pesquisa e salvo no documento
echo $palavra
#mostra o arquivo e local onde foi criado
echo "arquivo criado em /lugar que você quer salvar o arquivo/$palavra.txt"
Re: Relatório em Shell Script
Obrigada samuelrealnet , funcionou direitinho !
Re: Relatório em Shell Script
Falta apenas um detalhe no relatório. No shell eu estou usando o comando para a pesquisa sugerido pelo samuelrealnet :
grep -R $palavra "caminho do seu arquivo" ...
E está funcionando perfeitamente, porém andei mudando uns nomes de usuários no arquivo de texto para fazer uns testes.
Quando eu pesquiso por exemplo o usuário MICHELE.ATAÍDE , aparece somente os dados desse usuário:
Porém quando há dois usuários com o mesmo sobrenome (ex: JULIANA.SILVA e PATRICIA.SILVA) , se eu pesquisar apenas a JULIANA.SILVA , as informações da PATRÍCIA.SILVA também aparecem.
Gostaria de que somente aparecesse o usuário o qual foi pesquisado.