jrsreis@yahoo.com.br [shell-script]
2017-11-22 02:21:33 UTC
Olá pessoal,
Mais um probleminha daqueles que só vocês sabem resolver. Bem estou tentando realizar buscas realizando função, porém utilizando o comando grep como parâmetro, pois é não sei se isso é possÃvel. Mas, creio que vocês podem me ajudar.
Digamos que há um arquivo tipo de log, chamado, por exemplo, monitora.log com o seguinte conteúdo:
$ vim monitora.log
2017-11-21 23:01:00 Inclusão do usuário Fulano
2017-11-21 23:02:13 Alteração do registro do usuário Fulano
2017-11-21 23:02:15 Erro na alteração do usuário Fulano - Falha de permissão.
2017-11-21 23:03:25 Exclusão de usuário
2017-11-21 23:04:25 Inclusão de usuário
2017-11-21 23:05:44 Inclusão de usuário
2017-11-21 23:05:46 Erro na inclusão do usuário Beltrano - Faltando o campo nome a preencher.
E, temos o seguinte sciprt para procurar qualquer tipo de erro, como por exemplo:
$ vim lerlog.sh
#!/bin/bash
LOG="monitora.log"
mostrar()
{
$1 $LOG
# Ou realizando busca por dia, e em seguida o parâmetro
grep "2017-11-21" $LOG | $1
}
procuraErroAlteracao()
{
echo "Primeiro exemplo:"
mostrar "grep \"Erro na alteração\""
echo -e "\nSegundo exemplo:"
mostrar "grep 'Erro na alteração'"
echo -e "\nTerceiro exemplo:"
mostrar "grep 'Erro\ na\ alteração'"
}
procuraErroAlteracao()
{
echo "Primeiro exemplo:"
mostrar "grep \"Erro na alteração\""
echo -e "\nSegundo exemplo:"
mostrar "grep 'Erro na alteração'"
echo -e "\nTerceiro exemplo:"
mostrar "grep 'Erro\ na\ alteração'"
}
procuraErroInclusao()
{
echo "Primeiro exemplo:"
mostrar "grep \"Erro na inclusão\""
echo -e "\nSegundo exemplo:"
mostrar "grep 'Erro na inclusão'"
echo -e "\nTerceiro exemplo:"
mostrar "grep 'Erro\ na\ inclusão'"
}
echo -e "\n Procurando erro de alteração de usuários ..."
procuraErroAlteracao
echo -e "\n Procurando erro de inclusão de usuários ..."
procuraErroInclusao
----
Só que as passagens de parâmetros, no caso, utilizando o grep não está funcionando. Há alguma solução para isso?
Agradeço a todos.
Mais um probleminha daqueles que só vocês sabem resolver. Bem estou tentando realizar buscas realizando função, porém utilizando o comando grep como parâmetro, pois é não sei se isso é possÃvel. Mas, creio que vocês podem me ajudar.
Digamos que há um arquivo tipo de log, chamado, por exemplo, monitora.log com o seguinte conteúdo:
$ vim monitora.log
2017-11-21 23:01:00 Inclusão do usuário Fulano
2017-11-21 23:02:13 Alteração do registro do usuário Fulano
2017-11-21 23:02:15 Erro na alteração do usuário Fulano - Falha de permissão.
2017-11-21 23:03:25 Exclusão de usuário
2017-11-21 23:04:25 Inclusão de usuário
2017-11-21 23:05:44 Inclusão de usuário
2017-11-21 23:05:46 Erro na inclusão do usuário Beltrano - Faltando o campo nome a preencher.
E, temos o seguinte sciprt para procurar qualquer tipo de erro, como por exemplo:
$ vim lerlog.sh
#!/bin/bash
LOG="monitora.log"
mostrar()
{
$1 $LOG
# Ou realizando busca por dia, e em seguida o parâmetro
grep "2017-11-21" $LOG | $1
}
procuraErroAlteracao()
{
echo "Primeiro exemplo:"
mostrar "grep \"Erro na alteração\""
echo -e "\nSegundo exemplo:"
mostrar "grep 'Erro na alteração'"
echo -e "\nTerceiro exemplo:"
mostrar "grep 'Erro\ na\ alteração'"
}
procuraErroAlteracao()
{
echo "Primeiro exemplo:"
mostrar "grep \"Erro na alteração\""
echo -e "\nSegundo exemplo:"
mostrar "grep 'Erro na alteração'"
echo -e "\nTerceiro exemplo:"
mostrar "grep 'Erro\ na\ alteração'"
}
procuraErroInclusao()
{
echo "Primeiro exemplo:"
mostrar "grep \"Erro na inclusão\""
echo -e "\nSegundo exemplo:"
mostrar "grep 'Erro na inclusão'"
echo -e "\nTerceiro exemplo:"
mostrar "grep 'Erro\ na\ inclusão'"
}
echo -e "\n Procurando erro de alteração de usuários ..."
procuraErroAlteracao
echo -e "\n Procurando erro de inclusão de usuários ..."
procuraErroInclusao
----
Só que as passagens de parâmetros, no caso, utilizando o grep não está funcionando. Há alguma solução para isso?
Agradeço a todos.