sqlite3の出力を/ n区切りのbash配列に読み込もうとしています。 単純なことだと思われますが、read文は出力を生成しないようです。 IFS文の直前にfqryをエコーすると、sqliteクエリがその出力を文字列に正しくロードしていることが確認されます。しかし、まったくまったく何の問題もないようです。sqlite出力をbash配列に移動する
cmd="SELECT * FROM format"
fqry=`sqlite3 data.db "$cmd"`
IFS=$'\n'
read -ra farray <<< "$fqry"
for f in "${farray[@]}"
do
echo "$f"
done
完全に動作します。ありがとう! – kwksdy
エントリに改行が含まれている場合はどうなりますか? – Blauhirn
@Blauhirnその後、bashを使用すると複雑になります。使用している出力ラインセパレータやIFSに関係なく、dbにも表示されないという保証はありません。最も安全な方法は、(... LIMITを使用して)行数をカウントし、各ラインのためのクエリを実行することですが、それは明らかな欠点があり、アトミックではありません...私はおそらくだけではなく、パイソンを使用すると思います。 – mata