> 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