shell-script-pt
[Top][All Lists]
Advanced

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]