Estou consultando um banco de dados SQLite3 da seguinte forma:
input=$(-separator "," "SELECT field1,field2,field3 FROM table1")
e obtenha este resultado:
Red,Yellow is a color,Blue
Eu preciso inserir isso em uma matriz, existe uma maneira de definir esse resultado em uma matriz em ksh sem ter o resultado retornar o campo entre aspas (o que não é possível, tanto quanto eu sei, de uma consulta declaração em sqlite)?
Como no exemplo:
#!/bin/ksh
IFS=','
input=(Red,Yellow is a color,Blue)
set -A array $input
print ${array[@]}
print ${array[0]}
print ${array[1]}
print ${array[2]}
Se eu executar o código acima, recebo isto:
$
vermelho amarelo
Vermelho
Amarelo
Se você encapsular o segundo elemento com aspas, assim:
#!/bin/ksh
IFS=','
input=(Red,"Yellow is a color",Blue)
set -A array $input
print ${array[@]}
print ${array[0]}
print ${array[1]}
print ${array[2]}
Você obtém o resultado adequado ...
$
Red
Yellow is a color
Blue
A solução que preciso saber é se há uma maneira de definir essa matriz sem as aspas no segundo elemento. Ou seria necessário fazer um pré-processo no retorno do resultado do banco de dados para encapsular os elementos com aspas antes de inseri-los no array. Se sim, qual seria um bom ponto de partida? Eu gostaria de ficar dentro do ksh se eu pudesse.