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

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

RES: [shell-script] Cade ocês?...


From: Julio Cezar Neves - DISB.O
Subject: RES: [shell-script] Cade ocês?...
Date: Mon, 9 Oct 2000 15:23:06 -0300

Maurício,
já responderam, e de forma muito apropriada, a sua dúvida. Só estou te
respondendo para dar + uma dica. A instrução tr, quando usada com a opção
-s, espreme (squeese), quando repetido, o caracter especificado como 1o.
argumento, gerando na saída somente 1 caracter especificado como 2o.
argumento. Assim:

prompt> echo AdoroxxxprogramarxemxxxxShell | tr -s x " "
Adoro programar em Shell

Desta forma vc deveria ter feito o cut por campo, usando a opção -f (field)
e não a -c (caractere). Assim:

prompt> date|tr -s " " " " | read lixo mes dia lixo lixo ano
prompt> echo $ano:$mes:$dia
2000:Oct:9

Veja bem, isto é só um macete que quis mostrar, mas a solução dada
anteriormente pelo colega da lista é a melhor para o caso.

[]s,
Julio

> ----- Mensagem original -----
> De:           Mauricio Vieira [SMTP:address@hidden]
> Enviada em:           sábado, 7 de outubro de 2000 17:40
> Para:         address@hidden
> Assunto:              Re: [shell-script] Cade ocês?...
> 
> ola renato,
> 
> acabo de me inscrever na lista e recebi esta sua msg.
> 
> trabalho na administracao de uma rede bastante heterogenea mas com
> bastantes
> servidores linux.
> 
> comecei a programar em bash faz pouco tempo e tenho uma duvida que deve
> ser
> banal:
> 
> 
> #####################
> 
> #!/bin/bash
> # hoje.sh, by Mauricio Vieira 2000set31
> 
> ano=$(date |cut -c25-29)
> echo $ano
> mes=$(date |cut -c5-7)
> echo $mes
> dia=$(date |cut -c9-10)
> echo $dia
> 
> case $mes in
> 
> Jan) mes="jan" ;;
> Feb) mes="fev" ;;
> Mar) mes="mar" ;;
> Apr) mes="abr" ;;
> Mai) mes="mai" ;;
> Jun) mes="jun" ;;
> Jul) mes="jul" ;;
> Aug) mes="ago" ;;
> Sep) mes="set" ;;
> Oct) mes="out" ;;
> Nov) mes="nov" ;;
> Dec) mes="dez" ;;
> 
> *) mes = xxx ;;
> 
> esac
> 
> if [ -x $1 ];
> 
> then
> 
>  hoje="$ano""$mes""$dia"
> 
> else
> 
>  hoje=$1
> 
> fi
> 
> echo $hoje
> ######################
> 
> nos dias maiores que 10 o script funciona e responde:
> 2000out10 (por exemplo no dia 10 de outubro).
> 
> mas nos dias menores, fica apenas 2000out. o date manda pra
> $dia apenas um digito.
> 
> aí é que vai minha pergunta: como faço para testar se $dia é menor que 10
> e
> concatenar "0"$dia?
> 
> obrigado
> 
> 
> ----- Original Message -----
> From: Renato Marques Alvim Neto <address@hidden>
> To: <address@hidden>
> Sent: Saturday, October 07, 2000 10:40 AM
> Subject: [shell-script] Cade ocês?...
> 
> 
> > Cadê todo mundo???
> > Há dias não recebo mensagens da lista...
> > Que está havendo?
> > []'s
> > --
> > Renato Marques Alvim - membro da BSGI
> > Registered Linux User
> > Pentium 200MMX
> > Conectiva 5.0
> >
> > Inscrição:     address@hidden
> >
> > Sair da lista: address@hidden
> >
> > Banco Dados:   http://www.egroups.com/group/shell-script
> >
> 
> 
> Inscrição:     address@hidden
> 
> Sair da lista: address@hidden
> 
> Banco Dados:   http://www.egroups.com/group/shell-script


reply via email to

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