[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] percorrer arquivo
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] percorrer arquivo |
Date: |
Wed, 22 Nov 2006 16:19:24 -0200 |
acho que vc pode usar o awk
awk -F \; '{print $1,$2,$3}' arquivo
se o codigo está fora de ordem vc pode usar sort
awk -F \; '{print $1,$2,$3}' arquivo | sort -n
Em todo o caso, isso acontece por que vc está procurando todas as linhas que
começam com 1,
e tanto o codigo 1 quanto 10 "casam" com a ER.
tente assim
grep ^${i};
se é o numero que vc quer seguido pelo separador de campo ;
On 11/22/06, jc_inforlinux <address@hidden> wrote:
>
> pessoal to com um problema tenho q percorrer um arquivo neste formato:
> 1;21/11/2006;20:14:53
> 2;21/11/2006;20:14:58
> 3;21/11/2006;20:18:57
> 4;21/11/2006;20:19:25
> 5;21/11/2006;20:21:42
>
> e uso um for para checar cada registro e passar para a variavel.
>
> #############
>
> count=`cat /root/cerberus.txt | wc -l`;
> for i in `seq $count`
> do
> codigo=`grep ^$i /root/cerberus.txt | cut -f1 -d";"`;
> data=`grep ^$i /root/cerberus.txt | cut -f2 -d";"`;
> hora=`grep ^$i /root/cerberus.txt | cut -f3 -d";"`;
>
> echo "$codigo $data $hora
> done
>
> ##############
>
> so que quado chega no decimo registro o grep seta tanto o registro 1
> qto o 10 gerando uma bagunca.. tem como retorna somente a primeira
> ocorrencia para 1 e naum todos que iniciam com 1...
>
>
>
--
Tiago B Peczenyj
Linux User #405772
# cd /pub
# more beer
[As partes desta mensagem que não continham texto foram removidas]