+ Responder ao Tópico



  1. #1

    Padrão script para gerar tabelas dos logs???

    Olá pessoal,


    Criei um arquivo de log no /var/log/arquivo.log e quero mandar para uma tabela estilo excel o seguinte:
    Mes, data, horario, entre outros. Sendo os dados em suas respectivas linhas e colunas.

    ex.:
    Jun 20 11:40:02 bd sshd[2014]
    Jun 20 11:40:07 bd sshd[2017]:
    Jun 20 11:40:13 bd sshd[2020]:
    Jun 20 11:40:13 bd sshd[2020]:
    Jun 20 11:52:50 bd -- MARK --
    Jun 20 12:12:50 bd -- MARK --
    Jun 20 12:32:50 bd -- MARK --

    como que posso fazer esse script?

  2. #2
    felipefz
    Visitante

    Padrão Re: script para gerar tabelas dos logs???


    De maneira bem simples, sem a utilização de expressões regulares você pode resolver da seguinte forma.


    cat <nome do arquivo> | awk {'print $<numero>'}

    Explicando o comando:

    * cat <nome do arquivo> = le o arquivo inteiro e joga na tela
    * | = direciona a saída para o próximo comando
    * awk {'print $<numero>'} = imprime apenas a palavra selecionada

    No caso do seu arquivo de log temos:

    (1) (2) (3) (4) (5)
    Jun 20 11:40:02 bd sshd[2014]
    Jun 20 11:40:07 bd sshd[2017]:
    Jun 20 11:40:13 bd sshd[2020]:
    Jun 20 11:40:13 bd sshd[2020]:
    Jun 20 11:52:50 bd -- MARK --
    Jun 20 12:12:50 bd -- MARK --
    Jun 20 12:32:50 bd -- MARK --


    Note que eu enumerei cada coluna com (<numero>)
    Sendo assim, digamos que você queira um novo arquivo formatado com "<dia>/<mes>-<hora>"

    O comando ficaria da seguinte forma

    cat <nome do arquivo> | awk {'print $2"/"$1"-"$3'}

    Mas como você quer trabalhar com este log, e jogar no excell, se não me engano os campos precisam ser
    separados por ";"

    Basta tu inserir ";" entre as variáveis de impressão e mandar bala

    Essa é a maneira mais fácil de se aprender a trabalhar com shell.
    Uma dica para tu enriquecer seus conhecimentos, de uma olhada em expressões regulares neste link:

    http://guia-er.sourceforge.net/

    &#91;]'s