[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] AWK para separar linhas e campos
From: |
Fabiano Caixeta Duarte |
Subject: |
Re: [shell-script] AWK para separar linhas e campos |
Date: |
Sat, 10 Nov 2007 18:37:24 -0200 |
Sou fã do awk, mas evito usar canhão pra matar formiguinha. Assim, vai um
esboço de script (faltam os necessários tratamentos) de uma solução
pure-bash.
Qualquer dúvida, consulte o livro do mestre:
http://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarPapo009#Expans%E3o_de_par%E2metros
----------------------------------------------------------------------------------
#!/bin/bash
IFS='^'
while read; do
duplas=($REPLY)
sql="insert into tabela values("
for ((i=0; i<${#duplas[@]}; i++)); do
dupla=${duplas[$i]}
sql="${sql}${dupla%:*}='${dupla#*:}'"
[ $i -lt $((${#duplas[@]}-1)) ] && sql="$sql, "
done
sql="$sql)"
echo $sql
done < $1
----------------------------------------------------------------------------------
Em 09/11/07, Marcelo Salhab Brogliato <address@hidden> escreveu:
>
> Olá Fabiano,
>
> é isso mesmo! insert into tabela (campo='valor', campo='valor', ...)
>
> > > tenho entradas do tipo:
> > > nome:Joao da Silva^sexo:Masculino^idade:48
> > > nome:Carlos^email:address@hidden <carlos%40teste.com>^Observacoes:
> > hehehe
>
[As partes desta mensagem que não continham texto foram removidas]