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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Problema com Leitura de Arquivo |while read e cut -c


From: Flavio Junior
Subject: Re: [shell-script] Problema com Leitura de Arquivo |while read e cut -c
Date: Fri, 4 Jan 2008 16:11:10 -0200

Da uma adaptada ai pq eu acho q os numeros de caracter tão errado..

mas veja:

[root@muttley ~]# cat x
101448 2126166983121220078881,24 20122007
101448 2126166983121220078881,24 20122007
101448 2126166983121220078881,24 20122007
101448 2126166983121220078881,24 20122007
[root@muttley ~]# while read LINHA; do DADO1=${LINHA:0:10};
DADO2=${LINHA:11:10}; DADO3=${LINHA:21:8}; DADO4=${LINHA:29:10}; echo
1: $DADO1 - 2: $DADO2 - 3: $DADO3 - 4: $DADO4; done < x
1: 101448 212 - 2: 1669831212 - 3: 20078881 - 4: ,24 201220
1: 101448 212 - 2: 1669831212 - 3: 20078881 - 4: ,24 201220
1: 101448 212 - 2: 1669831212 - 3: 20078881 - 4: ,24 201220
1: 101448 212 - 2: 1669831212 - 3: 20078881 - 4: ,24 201220


Sorte,

--

Flávio do Carmo Júnior

On Jan 4, 2008 4:00 PM, Marcos Notari Junior <address@hidden> wrote:
>
>
>
>
>
>
> Caros,
>
>  Fiz um script conforme abaixo:
>
>  ##############################################
>  cat arquivo.txt | while read i
>  do
>  DADO1=$(echo $i| cut -c 1-10)
>  DADO2=$(echo $i| cut -c 11-21)
>  DADO3=$(echo $i| cut -c 22-30)
>  DADO4=$(echo $i| cut -c 31-41)
>
>  echo "INICIO"
>  echo "$DADO1"
>  echo "$DADO2"
>  echo "$DADO3"
>  echo "$DADO4"
>  echo
>  echo "$i"
>
>  :
>  done
>  ##############################################
>
>  Estou tentando pegar o conjunto de caracteres de cada linha.
>
>  o Arquivo que estou carregando contem o seguinte layout:
>
>  101448 2126166983121220078881,24 20122007
>  101448 2126166983121220078881,24 20122007
>  101448 2126166983121220078881,24 20122007
>  101448 2126166983121220078881,24 20122007
>
>  Ou seja, preciso que as variaveis peguem: 10 caracteres, 10 caracteres, 8
>  caracteres e 10 caracteres, inclusive os espaços em branco.
>
>  quando Executo deveria vir
>  INICIO
>  "101448 "
>  "2126166983"
>  "12122007"
>  "8881,24 "
>  "101448 2126166983121220078881,24 20122007"
>
>  Porém, a execução apresenta:
>  INICIO
>  "101448 21"
>  "2616698312"
>  "12200788"
>  "81,24 20122"
>  "101448 2126166983121220078881,24 20122007"
>
>  Alguem sabe o porque está ocorrendo isso ?
>
>  Quando uso o awk tb ocorre.
>
>  '{$1 = substr($1,1,23); print }'
>  '{$1 = substr($1,13,23); print }'
>
>  Esses caracteres em branco tem um significado nesse arquivo, e preciso
>  manter para a saida das variáveis.
>
>  Se alguem souber, agradeço.
>
>  Marcos Notari Junior
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>  


reply via email to

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