[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] cut
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] cut |
Date: |
Mon, 10 Jul 2006 16:09:08 -0300 |
Fala Antonio,
a proposta que o Thiago fez é bem mais eficiente do que com o uso do cut pq
é um intrínseco (builtin) do Shell. No entanto se vc se sentir melhor usando
o cut, preste atenção nos espaços em branco, protejendo-os sempre da
interpretação do Shell. O certo seria fazer:
$ FILE="EDISHIP111111 222222A"
$ B=`echo "${FILE}" | cut -c4-23`
$ echo ":$B:"
:SHIP111111 :
$ C=`echo "${FILE}" | cut -c24-26`
$ echo ":$C:"
: :
Seu erro foi pq:
$ echo $FILE
EDISHIP111111 222222A
$ echo "$FILE"
EDISHIP111111 222222A
Abraços,
Julio
:wq
Em 10/07/06, CC LATAM Cardoso Antonio <address@hidden>
escreveu:
>
> 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]
>
>
>
--
[ ]s,
Julio (http://www.julioneves.com)
Participe do 4o CONISLI - Congresso Internacional de Software Livre, dias
7 a 11 de novembro - SESC Vila Mariana - SP
www.conisli.org
[As partes desta mensagem que não continham texto foram removidas]