[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Exibição variaveis
From: |
mop |
Subject: |
Re: [shell-script] Exibição variaveis |
Date: |
Fri, 20 Apr 2007 21:24:00 -0300 |
Apenas uma opinião:
Claro que usar programas externos resolve, mas me parece um exagero
a carga de um para retirar 1 byte de uma string de cerca de 16 bytes.
A linha no "unix" termina com x0A, assim como no "dos" e seus sucessores.
O detalhe é que a ms usa um "carriage return" (x0D) antes de cada
"new line" e esse byte sobra então no fim da linha em leitores tipo unix.
Preparei o bloquinho abaixo, já com new lines ignoradas, para colar direto
na console de uma vez e ver o resultado com uma tecla. Se não selecionar
nenhuma linha além do echo, o Enter fica por sua conta. :)
z=$'ABC\rD\15E\x0dF';\
cat -v<<<$z;\
cat -v<<<${z%?};\
cat -v<<<${z/$'\r'};\
cat -v<<<${z//$'\r'};\
echo $z
Tudo funcionou como esperava no:
$ bash -version
GNU bash, version 3.2.0(1)-release (i686-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
Se a string já está numa variável e, supondo que se chame z, o último byte
pode ser retirado pelo próprio shell simplesmente com
${z%?}
Espero que seja de alguma utilidade.
Questões?
man bash
------------------------------------------------------------------
>From: Fernando Garcia <address@hidden>
>Date: Fri, 20 Apr 2007 18:01:37 -0300
>
>Olha o que aparecia:
>
>n: Fa0/47;2;2;1;Shutdown^M$ (Lembra microsoft, acho q por isso nao
>funcionava :-D
>
>Removi com um sed e ta funcionando agora.
- Re: [shell-script] Exibição variaveis,
mop <=