Procesamiento de salida desde una database sqlite en una matriz ksh con espacios

Estoy consultando una database SQLite3 así:

input=$(-separator "," "SELECT field1,field2,field3 FROM table1") 

y obtén este resultado:

 Red,Yellow is a color,Blue 

Necesito insert esto en una matriz, ¿hay alguna manera de establecer este resultado en una matriz en ksh sin tener el resultado? Devolver el campo entre comillas (lo que no es posible, por lo que sé, de una statement de consulta en sqlite )?

Como en el ejemplo:

 #!/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]} 

Si ejecuto el código anterior, obtengo esto: $ Red Yellow Red Yellow

Si encapsula el segundo elemento entre comillas, haga lo siguiente:

 #!/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]} 

Obtienes el resultado correcto …

 $ Red Yellow is a color Blue 

La solución que necesito saber es si hay una manera de configurar esta matriz sin las comillas en el segundo elemento. ¿O sería necesario realizar un preprocess en el retorno del resultado db para encapsular los elementos con comillas antes de insert en la matriz? Si es así, ¿cuál sería un buen lugar para comenzar? Me gustaría quedarme dentro de ksh si pudiera.

Lo siguiente me funciona en mksh:

 $ echo $KSH_VERSION @(#)MIRBSD KSH R50 2014/10/07 $ x="Red,Yellow is a color,Blue" $ oIFS=$IFS $ IFS=, $ y=($x) $ IFS=$oIFS $ echo ${y[1]} Yellow is a color 

Creo que debería funcionar de la misma manera en todas las versiones de ksh.