Сохранение значения impala приводит к появлению переменной в linux - PullRequest
0 голосов
/ 07 марта 2019

У меня есть требование извлечь 239, 631 и т. Д. Из приведенного ниже вывода и сохранить его в переменной в linux - это вывод результатов impala.

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

ниже приведен запрос, которым я являюсьработает.

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

Как это сделать?

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Что по этому поводу:

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

Я только что добавил опцию -B, которая удаляет красивую печать и заголовок.

Если вам нужны значения через запятую, вы можете передать результат в tr:

echo $x | tr ' ' ','
0 голосов
/ 07 марта 2019

Не могли бы вы попробовать следующее. Это приведет к удалению дубликатов для всех файлов Input_file (даже один идентификатор входит в 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}'


В случае, если вам нужно напечатать идентификаторы (которые входят в 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}}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...