impala的存储值导致linux中的变量

问题描述 投票:0回答:2

我需要从下面的输出中检索239,631等,并将其存储在linux中的变量中 - 这是impala结果的输出。

+-----------------+
| organization_id |
+-----------------+
| 239             |
| 631             |
| 632             |
| 633             |
+-----------------+

下面是我正在运行的查询。

x=$(impala-shell -q "${ORG_ID}" -ki "${impalaserver}");

怎么做?

bash hive impala
2个回答
0
投票

你可以尝试一下吗?这将删除所有Input_file的重复项(即使单个id出现在1 organization_id中,它也不会在其他节中打印出来)

your_command | awk -v s1="'" 'BEGIN{OFS=","} /---/{flag=""} /organization_id/{flag=1;getline;next} flag && !a[$2]++{val=val?val OFS s1 $2 s1:s1 $2 s1} END{print val}'


如果你需要打印id(它们来自1节,可以进入organization_id的其他节,那么请尝试以下):

your_command | awk -v s="'" 'BEGIN{OFS=","} /---/{print val;val=flag="";delete a} /organization_id/{flag=1;getline;next} flag && !a[$2]++{val=val?val OFS s1 $2  s1:s1 $2 s1} END{if(val){print val}}'

0
投票

那这个呢 :

x=$(impala-shell -B -q "${ORG_ID}" -ki "${impalaserver}")

我刚刚添加了-B选项,它删除了漂亮的打印和标题。

如果您想要以逗号分隔的值,可以将结果传递给tr

echo $x | tr ' ' ','
© www.soinside.com 2019 - 2024. All rights reserved.