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

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

Re: [shell-script] grep como parâmetro de função


From: Julio C. Neves
Subject: Re: [shell-script] grep como parâmetro de função
Date: Wed, 22 Nov 2017 09:11:32 -0200

Em cada linha de grep, vc tem de executar 2 passos. Da esquerda para a direita como faz qq interpretador os passos seriam:
Ora, essa ordem está trocada, precisamos priorizar a execução do grep e isso se faz de duas formas:
Então, para seu prg funcionar, vc deve trocar:

 mostrar "grep \"Erro na inclusão\""

por:

 mostrar "$(grep \"Erro na inclusão\")"

Abraços,
Julio
* Atenção! Últimos treinamentos presenciais do ano! *
Cidade Local Período
Brasilia LinuxSolutions 27/11-01/12
São Paulo 4Linux 05-09/12
Rio de Janeiro LinuxSolutions 11-15/12

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

​​
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







Em 22 de novembro de 2017 00:21, address@hidden [shell-script] <address@hidden> escreveu:
 

 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]