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 <[EMAIL PROTECTED]>
>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.



---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a