[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Preencher variável
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] Preencher variável |
Date: |
Wed, 14 Jul 2004 14:51:29 -0300 |
Use o comando printf, que por ser um builtin do bash, é bem rápido. Ex:
Prompt> var=MARIA
Prompt> var1=$(printf "%-$((${#var}+3))s:\n" $var)
Prompt> echo "$var1"
MARIA :
No exemplo acima, ${#var} devolve o tamanho da variável (no caso 5).
$((${#var}+3)) devolve 8 pois é 5 + 3. Então o que foi executado é printf
"%-8s:\n" $var, ou seja, escrever o conteúdo de $var com 8 posições alinhado
à direita. o : é para vc ver que ficaram 3 espaços em branco após MARIA e o
\n é para saltar linha.
O que fiz é genérico para qq tamanho de variável. No caso específico do
exemplo bastaria fazer:
Prompt> printf "%-8s" $var
[ ]s,
Julio Cezar Neves
- Gerente do Programa de Software Livre -
Tel:+55 21 2528-7070 / +55 21 8112-9988
Fax: +55 21 2528-7646
mailto:address@hidden
| -----Mensagem original-----
| De: Saulo Calixto Bonfim [mailto:address@hidden]
| Enviada em: quarta-feira, 14 de julho de 2004 12:06
| Para: address@hidden
| Assunto: Re: [shell-script] Preencher variável
|
|
|
| Em 14-07-2004 11:34, fpasa escreveu:
|
| >Pessoal,
| >
| >como faço para completar com espaços uma variável ?
| >Por exemplo:
| >x="MARIA"
| >
| >Quero que adicione espaços para ficar assim "MARIA "
| >Neste exemplo adicionei 3 espaços.
| >
| >
|
| $ x=MARIA
| $ echo $x | sed 's/$/ /g'
|
| sed substituindo o final da variável por 3 espaços
|
|
| --
| -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| Saulo Calixto Bonfim - address@hidden
| Chave PGP: http://www.saulo.eti.br/saulo-pgp.key
| Powered by Conectiva Linux 9 - Kernel 2.6.7
| -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
| Linux: nine out of ten gynecologists recommend it
|
|
|
|
|
| ---------------------------------------------------------------------
| 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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] Preencher variável,
Julio Cezar Neves - DATAPREVRJ <=