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

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

Re: [shell-script] Separar Colunas com quantidade incerta


From: César Vianna
Subject: Re: [shell-script] Separar Colunas com quantidade incerta
Date: Tue, 12 Jul 2011 15:55:09 -0300

O awk do Robson funcionou direto.

Com o sed, fiz alguns ajustes e funcionou também, como segue:

while read linha
do
num=$(echo $linha | sed -r 's/(^.*\/[0-9]) ([a-zA-Z].*)
([0-9]{1,2},[0-9]{2}) ([0-9]{1,2},[0-9]{2}) ([0-9]{1,2},[0-9]{2})
([0-9]{1,2},[0-9]{2}) ([0-9]{1,2},[0-9]{2}) ([a-zA-Z].*$)/\1/g')
nome=$(echo $linha | sed -r 's/(^[0-9].*\/[0-9]) ([a-zA-Z].*)
([0-9]{1,2},[0-9]{2}) ([0-9]{1,2},[0-9]{2}) ([0-9]{1,2},[0-9]{2})
([0-9]{1,2},[0-9]{2}) ([0-9]{1,2},[0-9]{2}) ([a-zA-Z].*$)/\2/g')
resto=$(echo $linha | sed -r 's/(^[0-9].*\/[0-9]) ([a-zA-Z].*)
([0-9]{1,2},[0-9]{2}) ([0-9]{1,2},[0-9]{2}) ([0-9]{1,2},[0-9]{2})
([0-9]{1,2},[0-9]{2}) ([0-9]{1,2},[0-9]{2})
([a-zA-Z].*$)/\3;\4;\5;\6;\7;\8/g')
echo "$num;$nome;$resto"
done < arquivo




2011/7/12 Robson Alexandre <address@hidden>

> **
>
>
> Utilizando o q o nosso amigo Tiago usou
>
> awk 'OFS=";" { match($0,/[A-Z][A-Z ]+/); print
>
> $1,substr($0,RSTART,RLENGTH),$(NF-6),$(NF-5),$(NF-4),$(NF-3),$(NF-2),$(NF-1),$NF
> }' /tmp/arq.txt
>
>
> 170.00259604/3;JOSE LUIZ MOREIRA
> ;10,00;1,00;11,00;24,00;46,00;ELIMINADO;4.1.9
> 170.00285361/7;JOSELIO RICARDO NUNES COELHO
> ;6,00;0,00;4,00;9,00;19,00;ELIMINADO;4.1.9
> 170.00242788/9;JULIANO DA SILVA CHAVES
> ;8,00;1,00;7,00;21,00;37,00;ELIMINADO;4.1.9
> 170.00254924/0;LEANDRO DO NASCIMENTO SAMORA
> ;8,00;2,00;9,00;30,00;49,00;ELIMINADO;4.1.9
> 170.00263869/8;MARCELA GOUVEIA FERRAZ
> ;10,00;5,00;6,00;9,00;30,00;ELIMINADO;4.1.9
> 170.00237205/9;MARCELO ALVES DRUMMOND DE OLIVEIRA
> ;4,00;5,00;42,00;63,00;HABILITADO;ITEM;4.3.3
>
> 170.00239439/7;MARCOS ANTONIO LIMA
> ;8,00;3,00;3,00;12,00;26,00;ELIMINADO;4.1.9
> 170.00240727/2;MARINA DE OLIVEIRA PEREIRA
> ;10,00;1,00;1,00;9,00;21,00;ELIMINADO;4.1.9
> 170.00283022/0;MEI YUNG KO ;10,00;3,00;6,00;9,00;28,00;ELIMINADO;4.1.9
> 170.00261006/2;PHILIP TEIXEIRA ROCHA
> ;8,00;1,00;6,00;15,00;30,00;ELIMINADO;4.1.9
> 170.00265535/0;RODRIGO JOSE BUENO
> ;12,00;1,00;7,00;3,00;23,00;ELIMINADO;4.1.9
> 170.00280447/0;SIRLANE DE ARAUJO CAMURCA FERNANDES
> ;10,00;3,00;6,00;24,00;43,00;ELIMINADO;4.1.9
> 170.00237871/9;VALDECI ANTONIO DE SOUZA
> ;2,00;2,00;4,00;18,00;26,00;ELIMINADO;4.1.9
> 170.00252405/5;WAGNER ALVES RIBEIRO MAIA
> ;5,00;6,00;33,00;60,00;HABILITADO;ITEM;4.3.3
>
> 170.00266490/0;ABELARDO DE JESUS
> ;6,00;2,00;3,00;18,00;29,00;ELIMINADO;4.1.9
> 170.00252228/6;ABNER AUGUSTO VIANA THOMAZ
> ;6,00;3,00;3,00;24,00;36,00;ELIMINADO;4.1.9
> 170.00271565/4;ABNER VISCONTI VIEIRA
> ;8,00;3,00;10,00;30,00;51,00;ELIMINADO;4.3.4
>
> Seria algo assim, César?
>
> Att
>
> Robson Alexandre
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
César Vianna
-------------------
Prefira o que é positivo e múltiplo; a diferença à uniformidade; o fluxo às
unidades; os agenciamentos móveis aos sistemas.
Gilles Deleuze & Felix Guattari
******************************************************


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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