shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

grep como parâmetro de função


From: jrsreis
Subject: grep como parâmetro de função
Date: 22 Nov 2017 02:21:33 +0000

 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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]