我正在尝试运行如下的Postgres查询并将结果存储到数组中:
v2_ids=$(psql $(credstash get database/path/here) -tc "select distinct(user_id) from table where yada yada yada..." )
read -a arr_ids_temp <<< $v2_ids
有更好的方法吗?似乎读取-a有时只抓取第一个结果,我不知道为什么。
答案 0 :(得分:1)
请参考以下代码:
IFS=$'\n' res=(`psql -tA database username -c 'select column_name from table_name where blah blah...'`)
$ {res [0]}包含第一行的值和数组中的每个元素 分别包含每一行的值。
其他提示:
要将一行中的所有数据都放入数组,
IFS='|' res=(`psql -tA database username -c 'select name1,name2,name3 from table_name where blah blah...'`)
答案 1 :(得分:0)
这应该可以正常工作,但是使用psql
选项-A
(未对齐输出模式),-q
(抑制信息输出)和-t
(没有列名,页眉和页脚)。