> e por ai vai... ou seja... a cada 20 campos delimitados por "," eu
>tenho um registro... mas nao tenho CR LF (0D0A) em nenhum momento pra
>separar cada registro...

Dah pra fazer assim:

awk 'BEGIN { FS = "," }

    { for (i=1; i<=NF; i++) { 
         printf("%s,", $i); 
         if ((i % 20)==0)
            print "";

      }
    }' arquivo_de_dados


A primeira linha configura o awk para, antes de comecar qq
processamento, considerar como separador de campos a virgula.. depois,
para cada linha que ele processar (possivelmente uma soh, jah que o teu
arquivo nao tem \n separando os registros), ele percorre todos os
campos, imprimindo eles. O (i % 20)==0 serve pra que, a cada 20 campos
que ele processar, ele de um \n (eu faco a nova linha usando o
comando print ""). Caso tu queira fazer qualquer outra coisa pra marcar
o final de um registro, eh soh substituir o print "" por outra coisa.


Espero que seja isso que tu precisa.


Abraco,


bruno


----
Let the benediction of Emacs always be upon your head,

Bruno Castro da Silva
[EMAIL PROTECTED]
---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a