Expansão de variaveis em Bash:

${var:N}        Retorna o texto à partir da posição 'N'
${var:N:tam}    Retorna 'tam' caracteres à partir da posição 'N'

while read LINHA; do
echo \'${LINHA:0:3}\'
echo \'${LINHA:3:23}\'
echo \'${LINHA:23:26}\'
done < /o/seu/arquivo.txt

Resultado:
'EDI'
'SHIP111111             '
'   222222A'

é claro que vc precisa fazer a conversão do que vc pega com o cut para
o que vc pega com a expansão de variaveis. coloquei as aspas simples
pra vc ver ate onde vai cada coisa, sacou?

On 7/10/06, CC LATAM Cardoso Antonio <[EMAIL PROTECTED]> wrote:
> Bom dia,
>
>
>
> Sou iniciante em shell e estou precisando de uma ajuda.
>
>
>
> Estou fazendo a leitura de um arquivo onde necessito retirar as informações 
> conforme as colunas pré-determinadas.
>
>
>
> Exemplo dos dados dentro do arquivo:
>
> EDISHIP111111             222222A
>
>
>
> Estou fazendo da seguinte maneira:
>
>
>
> while read FILE
>
>   do
>
>     A=`echo ${FILE} | cut -c1-3`
>
>     B=`echo ${FILE} | cut -c4-23`
>
>     C=`echo ${FILE} | cut -c24-26`
>
> done</tmp/tmpfile.txt
>
>
>
> A variável A esta saindo com o valor correto, mas o restante não.
>
> Notei que o shell esta removendo os espaços em branco, que no meu caso não 
> poderá ocorrer.
>
>
>
> Preciso do valor incondicional da linha, com espaços em branco.
>
>
>
> Alguém pode me ajudar
>
>
>
> Grato
>
> Antonio
>
>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> 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
>
>
>
>
>
>
>
>
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


---------------------------------------------------------------------
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