store值在linux中产生一个变量

yhqotfr8  于 2021-06-27  发布在  Hive
关注(0)|答案(2)|浏览(345)

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

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

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

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

怎么做?

db2dz4w8

db2dz4w81#

你能试试下面的吗。这将删除所有输入文件的重复项(即使只有一个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节,也可以分为组织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}}'
deikduxw

deikduxw2#

这个呢:

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

我刚加了 -B 选项删除漂亮的打印和标题。
如果需要逗号分隔的值,可以通过管道将结果传递给 tr :

echo $x | tr ' ' ','

相关问题