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
