2009/3/27 Anderson Rodrigo <[email protected]>:
> Bom dia galera!
>
> Trabalho com postgresql 8.3 com SO Linux CentOS...
> Recebi um arquivo texto com umas 500 colunas, mas as mesmas estão separadas
> por layout(Delimitação de espaço ou seja, do 1 até o 9 caracter e o campo
> id, do 10 ao 74 é o nome .... e por ai vai...)
>
> Quero saber se algum de você tem uma dica pra me passar... ou um inscript
> que eu possa adaptar a minha necessídade.(Shell, ruby ou perl...)
>
> Vou comentar o que já pensei...
> Em colocar  ";" ou tab nas delimitações do campo e depois importar com o
> copy passado via stdin, mas não consigo imaginar uma forma pratica de
> incerir  os ";" ou tab nas posições corretas dos texto... já fiz isso com o
> sed e uma regexp criando grupos e remodelando com o retrovisor, mas na
> ocazião só aviam 5 colunas com alguns milhões de linhas, mas como os
> retrovisor só vai \1 ao \9 estou meio que sem idéias...
>
> O arquivo texto tem 87 GB... =0
>
> Se alguém puder me ajudar fico grato...
>
> --
> Atenciosamente:
>
> Anderso Rodrigo.
>
> "Todo homem tem suas loucuras — e frequentemente elas são as coisas mais
> interessantes que ele tem."  (Josh Billings)
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>

Anderson,

Esse tipo de coisa eu resolveria com o AWK (ou ruby, que é a linguagem
que estou trabalhando agora).
Pra fazer em AWK você precisa saber qual o tamanho dos campos, colocar
na variável FIELDWIDTHS e, por exemplo, se você usar ';' como
separador de campo você vai precisar verificar os campos com ';' e
colocá-los entre ' \" ' (aspas duplas ou simples).

Tipo, se der mande a posição dos campos.
-- 
------------------------------------------
 1. Notebook para você ficar livre e programar a vontade: R$ 2300
 2. Curso de Programação/SysAdmin/DBA: R$ 5000
 3. Pedir a solução pronta para um problema numa lista de discussão:
Não tem preço !

E para todas as outras existe RTFM, STFW e  LMGTFY
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a