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

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

Re: RES: [shell-script] Problema com awk


From: Miranda
Subject: Re: RES: [shell-script] Problema com awk
Date: Wed, 7 Jul 2004 11:21:47 -0300
User-agent: KMail/1.5

coloque o conteudo abaixo em um arquivo
por exemplo  mt
faça-o executavel 
com chmod 755 
e chame passando como parametro um arquivo no seu dir

arq=$1
set `stat -c %z $1|cut -d"." -f1`
data=$1
hora=$2

echo "timestamp de $arq :"`date '+%d de %b de %Y' --date "$data"`" $hora"


On Wednesday 07 July 2004 10:21, fpasa wrote:
> Ok. Acredito que é obvio que não desenvolvi o mesmo, mas utilizo ele
> com o seguinte propósito: retirar o timestamp de um arquivo , passado
> como parametro, no formato aaaammddhhmmss .
>
> Abaixo segue o script original.
> Como vc pode notar foi feito para korn do Unix e utilizava o comando
> truss (nao sei exatamente para que serve) . Falaram-me que o comando
> strace do linux era equivalente, mas acredito que tenha suas
> diferenças.
>
> #!/bin/ksh
> #obtem timestamp do arquivo informado
> #Zonta 03/2003
> function help {
>       echo "$0 - obtem o timestamp do arquivo -yyyymmddhhmmss"
>       echo "sintaxe:"
>       echo " $0 <nomearquivo> [-f]"
>       echo " -f = formatado DD MMM YYYY - hh:mm:ss"
>       echo "Atençao: utiliza arquivo temporario: diretorio atual
> tem de ter direito de gravação"
> }
> if [ -z $1 ]; then
>    help
>    exit 1
> fi
> if [ ! -f $1 ]; then
>    help
>    echo "-------------------------------\n erro: $1 nao é arquivo"
> 2>stderr
>    exit 1
> fi
> if [ "$2" != "-f" ] &&
>    [ "$2" != "" ]; then
>     help
>     echo  "-------------------------------\n erro: parametro $2
> invalido" 2>stderr
> fi
> temp=~tmp.$(date '+%Y%m%d%H%M%S').$RANDOM
> truss -v lstat -t lstat ls -l $1 2>$temp>/dev/null
> if [ "$2" = "" ]; then
>    echo $(grep "mt" $temp|sed -e "s/  / 0/g;s/Jan/01/g;
> s/Feb/02/g;s/Mar/03/g;s/Apr/04/g;s/May/05/g;s/Jun/06/g;s/Jul/07/g;s/Au
> g/08/g;s/Sep/09/g;s/Oct/10/g;s/Nov/11/g;s/Dec/12/g;s/://g"|awk
> {'printf("%s%s%s%s",$7,$3,$4,$5)'})
> else
>    echo $(grep "mt" $temp|sed -e "s/  / 0/g"|awk {'printf("%s %s %s -
> %s",$4,$3,$7,$5)'})
> fi
> rm $temp
>
>
> --- Em address@hidden, Miranda <umiranda@l...>
> escreveu
>
> > Vou ser sincero com você .
> > Não tenho a menor ideia de qual é
> > a desse script, para que serve.
> > Quem sabe se você disser o que pretendia com êle
> > expondo de maneira detalhada e dando exemplos
> > do que quer obter , consigamos boas ideias
> > Posso estar errado , mas só de olhar aquele código
> > já desconfio que está mal feito :o)
>
> ---------------------------------------------------------------------
> 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]