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

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

Re: [shell-script] Script


From: Julio C. Neves
Subject: Re: [shell-script] Script
Date: Wed, 18 Jul 2007 14:49:27 -0300

Já que vc comprou meu livro, aí vai a retribuição... ;-)

#!/bin/bash
if [ $# -ne 3 -o "$1" = ? ] ; then
    clear
    echo "
****************************************************************"

     A T E N C A O

    ****************************************************************"
    Use: ./logrel <NOME_LOG> <DATA_INI> <DATA_FIM> (<PORC>)
            Exemplo: ./logrel log.log 08/20/2005 07/15/2006
                     ./logrel log.log 08/20/2005 07/15/2006 10
            onde o 10 é a porcentagem a ser cancelada.
    Obs: a data esta no formato MM/DD/YYY
    ****************************************************************"
    exit 1
else
    ARQ_LOG=$1
    DAT_INI=`date -d "$2" +'%s'`
    DAT_FIM=`date -d "$3" +'%s'`
fi
if [ ! "$4" ] ; then
    PERC='5'
else
    PERC=$4
fi
ARQ_RES='arquivo.log'
ARQ_RES2='arquivo2.log'
cat $ARQ_LOG | awk '{print $2 " " strftime("%d/%m/%Y",$1) " " $1 " " $3 "
" $4 " " $5}'|sort -rn >$ARQ_RES
TOTAL=`cat $ARQ_RES | wc -l`
TPORC=$(($TOTAL*$PERC/100))
TTAIL=$(($TOTAL-$TPORC))
tail -n $TTAIL $ARQ_RES > $ARQ_RES2
awk '$3 >= '$DAT_INI' && $3 <= '$DAT_FIM' {print $2 " " $1 " " $4 " "
$5 " " $6}' $ARQ_RES2 >resultado.txt
sort -rn resultado.txt|>resultado_data.txt
rm -f $ARQ_RES
rm -f $ARQ_RES2
cat resultado.txt

Foram umas mexidinhas bobas, mas melhora um pouquinho.

Abração,
Julio
:wq


Em 18/07/07, Michel I. Moreira <address@hidden> escreveu:
>
>   Boa tarde colegas,
>
> Conclui, com ajuda do Julio e Tiago, meu script para melhor gerenciar
> algumas informações que preciso, e estou postando o mesmo abaixo. Queria
> a opinião de vcs, pois como dizem 1 erro ao olhos de mil....
>
> Se puderem, sugetões e criticas são bem vindas.
>
> #!/bin/bash
> if [ "$1" = "" -o "$2" = "" -o "$3" = "" -o "$1" = "?" ] ; then
> clear
> echo "****************************************************************"
> echo " "
> echo " A T E N C A O "
> echo " "
> echo "****************************************************************"
> echo "Use: ./logrel <NOME_LOG> <DATA_INI> <DATA_FIM> (<PORC>) "
> echo "Exemplo: ./logrel log.log 08/20/2005 07/15/2006 "
> echo " ./logrel log.log 08/20/2005 07/15/2006 10 "
> echo " onde o 10 é a porcentagem a ser cancelada. "
> echo " Obs: a data esta no formato MM/DD/YYY "
> echo "****************************************************************"
> exit 1
> else
> ARQ_LOG=$1
> DAT_INI=`date -d "$2" +'%s'`
> DAT_FIM=`date -d "$3" +'%s'`
> fi
> if [ "$4" = "" ] ; then
> PERC='5'
> else
> PERC=$4
> fi
> ARQ_RES='arquivo.log'
> ARQ_RES2='arquivo2.log'
> cat $ARQ_LOG|awk '{print $2 " " strftime("%d/%m/%Y",$1) " " $1 " " $3 "
> " $4 " " $5}'|sort -rn >$ARQ_RES
> TOTAL=`cat $ARQ_RES|wc -l`
> TPORC=$(($TOTAL*$PERC/100))
> TTAIL=$(($TOTAL-$TPORC))
> tail -n $TTAIL $ARQ_RES > $ARQ_RES2
> awk '$3 >= '$DAT_INI' && $3 <= '$DAT_FIM' {print $2 " " $1 " " $4 " "
> $5 " " $6}' $ARQ_RES2 >resultado.txt
> cat resultado.txt|sort -rn >resultado_data.txt
> rm -f $ARQ_RES
> rm -f $ARQ_RES2
> cat resultado.txt
>
> PS: Comprei ontem o livro do Julio, acho q apos ler poderei ajudar mais
> o grupo.
>
> Abraço a todos,
>
> Michel
>
>  
>



-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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