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

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

Re: [shell-script] Mais datas


From: Emerson Domingues Souto
Subject: Re: [shell-script] Mais datas
Date: Wed, 13 Apr 2005 11:36:42 -0300

Bia,

que tal se vc usar:

$ date +%Y%m%d%H%M%S > DataExecucao
o resultado será:  20050413112119      (ano mes dia hora minuto segundo)

ou entao use:

$ date +%Y.%m.%d.%H.%M.%S > DataExecucao
o resultado será: 2005.04.13.11.21.32   (ano.mes.dia.hora.minuto.segundo)

ficará mais fácil de se trabalhar e independerá de regiao.

-----------
     OU
-----------

Agora se fosse a data de criação do arquivo, vc poderia usar o comando:

# cria um arquivo com a data de ontem (exatamente a 24 horas atras)
touch arquivo1 -t `date +%Y%m%d%H%M.%S --date='1 days ago'`

# testa se o arquivo desejado é mais velho ou mais novo que o de ontem
test arquivo1 -ot arquivo2    # arquivo1 é mais velho que arquivo2
test arquivo1 -nt arquivo2    # arquivo1 é mais novo que arquivo2



-----------
     OU
-----------
ou simplesmente use o comando find restringindo a 24 horas:

find . -mtime +1 -1 -exec ls {} \;  # isso restringe o periode de 24 horas,
mas talvez precise de mais ajustes ainda



Att,
Emerson


----- Original Message ----- 
From: "Beatriz Langiano" <address@hidden>
To: <address@hidden>
Sent: Wednesday, April 13, 2005 11:01 AM
Subject: Re: [shell-script] Mais datas


>
> Oi Emerson
>
>
> >1) a data do arquivo é uma string dentro do arquivo ?
> >2) ou a data do arquivo é a data de gravação do
> >arquivo no S.O. ?
>
> Esses arquivos são criados assim:
>
> date > DataExecucao
>
>
> Feito isso, o arquivo DataExecução está da seguinte
> forma:
>
> Qua Abr 13 10:20:17 BRT 2005
>
>
> Obrigada, Beatriz
>
>
>
> ----- Original Message ----- 
> From: "Beatriz Langiano" <address@hidden>
> To: <address@hidden>
> Sent: Tuesday, April 12, 2005 2:03 PM
> Subject: Re: [shell-script] Mais datas
>
>
> >
> > Oi Miranda,
> >
> > Fiz meu script com as suas dicas, e ele ficou assim:
> >
> >
> > ---------------------------------------------
> > #!/bin/bash
> >
> > exec 3< DataExecucao
> > read -u3 data1
> >
> > exec 3< DataHoje
> > read -u3 data2
> >
> > echo "Testando a data de execucao"
> >
> > data1S=`date +%s --date="$data1"`
> >
> > echo "$data1S"
> >
> > data2S=`date +%s --date="$data2"`
> >
> > echo "$data2S"
> >
> >   if [ `expr $data1S - $data2S` > 86400 ]
> >     then
> >         echo "+ de 24 horas"
> >         else echo "nao + de 24 horas"
> >   fi
> > ---------------------------------------------
> >
> > Fiz um teste onde data1 e data2 são iguais, mas ele
> > está gerando esse erro:
> >
> > ---------------------------------------------
> > Testando a data de execucao
> > date: data inválida `Ter Abr 12 10:42:36 BRT 2005'
> >
> > date: data inválida `Ter Abr 12 10:42:36 BRT 2005'
> >
> > + de 24 horas
> >
> > (se as datas são iguais, a saída deveria ser a do
> > comando else)
> > ---------------------------------------------
> >
> > Você saberia o que está errado?
> >
> > Obrigada, Beatriz
> >
> >
> > --- Miranda <address@hidden> wrote:
> > >
> > > Estou tendo dificuldades com a data em portugues
> > > A idéia basica é : ( veja )
> > >
> > > echo $data1
> > > Fri Apr 8 15:10:28 BRT 2005
> > > [miranda@guitar Video]$ echo $data2
> > > Thu Apr 7 15:10:28 BRT 2005
> > >
> > > data2 é anterior a data1 em exatamente 24 horas
> > >
> > > [miranda@guitar Video]$ data1S=`date +%s
> > > --date="$data1"`
> > > [miranda@guitar Video]$ echo $data1S
> > > 1112983828
> > > [miranda@guitar Video]$ data2S=`date +%s
> > > --date="$data2"`
> > > [miranda@guitar Video]$ echo $data2S
> > > 1112897428
> > >
> > >  if [ `expr $data1S - $data2S` -gt 86400 ]
> > > then
> > >   echo "+ de 24 horas"
> > > else
> > >   echo "nao + de 24 horas"
> > > fi
> > > nao + de 24 horas
> > > [miranda@guitar Video]$
> > >
> > > On Fri, 2005-04-08 at 12:32, Beatriz Langiano
> wrote:
> > > > Olá,
> > > >
> > > > Tenho um script que precisa comparar a data
> atual
> > > com
> > > > uma data lida em um arquivo para ver se a
> > > diferenca
> > > > entre a data atual e a data no arquivo é maior
> que
> > > > 24h.
> > > >
> > > > (A data do arquivo está nesse formato:
> > > > data1 = Qui Abr  8 15:10:28 BRT 2005)
> > > >
> > > > Por exemplo:
> > > >
> > > > #!/bin/bash
> > > >
> > > >   exec 3< Arquivo
> > > >   read -u3 data1
> > > >
> > > >
> > > >   If "(DataHoje - data1) > 24 horas"
> > > >      then ....
> > > >
> > > >
> > > > Alguém sabe como fazer isso?
> > > >
> > > > Obrigada, Beatriz
> > > >
>
>
>
> Beatriz Langiano
> Mestrado em Informática
> Universidade Federal do Paraná - Brasil
>
>
>
>
>
> Yahoo! Acesso Grátis - Internet rápida e grátis.
> Instale o discador agora! http://br.acesso.yahoo.com/
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>



reply via email to

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