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

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

Re: AWK para separar linhas e campos


From: Marcelo Salhab Brogliato
Subject: Re: AWK para separar linhas e campos
Date: Fri, 9 Nov 2007 19:47:34 -0200

Olá,
descobri que, se eu trocar:         echo $entry | awk 'BEGIN { FS="^" } {
for (i=1; i<=NF; i++) { $i ~ /([^:])(.*)/ { print $1, "::", $2 } } }'
por:         echo $entry | awk 'BEGIN { FS="^" } { for (i=1; i<=NF; i++)
print $i }'
ele imprime pra mim CAMPO por CAMPO... faltando apenas separar por chave e
valor...
onde: ([^:]+)(.*) ... $1 = chave, $2 = valor

alguem tem alguma sugestao?
to tentando fazer isso dentro do AWK mesmo...
mas pode ser externo...

abraços,
Salhab




On Nov 9, 2007 7:32 PM, Marcelo Salhab Brogliato <address@hidden> wrote:

> Olá,
>
> tenho entradas do tipo:
> nome:Joao da Silva^sexo:Masculino^idade:48
> nome:Carlos^email:address@hidden^Observacoes: hehehe::lala:
>
> e assim vai...
> preciso montar SQL para inserir em um banco de dados...
> em cada linhas, tenho os campos separados por ^, e os campos sao assim:
> ([^:]+)(.*) ... $1 é campo, $2 é o valor...
>
> estou fazendo o seguinte:
>
>       TMP=$IFS
>       IFS=`echo " " | tr " " "\n"`
>       for entry in $contacts;
>       do
>         echo $entry | awk 'BEGIN { FS="^" } { for (i=1; i<=NF; i++) { $i ~
> /([^:])(.*)/ { print $1, "::", $2 } } }'
>       done
>       IFS=$TMP
>
> mas nao consigo nada alem de mensagens de erro :)
>
> alguem tem alguma sugestao?
>
> abracos,
> Salhab
>
>
>


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



reply via email to

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