[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]
- Script, Michel I. Moreira, 2007/07/18
- Re: [shell-script] Script,
Julio C. Neves <=