我在bash脚本中有一组命令,例如在impala中运行查询。
#! /bin/sh
RESULT=`impala-shell -q "select count(*) from testable"`
shell脚本的结果是。
Starting Impala Shell without Kerberos authentication
Connected to mycomp.cool-cluster.com:21000
Server version: impalad version 2.0.0-cdh5 RELEASE (build 12323323)
Query: select count(*) from enriched_call
Fetched 1 row(s) in 0.62s
+----------+ | count(*) | +----------+ | 234343 | +----------+
我想只获取此输出的值,即234343,并尝试使用Regex,split等在脚本中断言计数。
如果我试图消除非数字vaules,版本中的数字也会出现。我想分开说'|'并获得值234343
答案 0 :(得分:2)
尝试这样做:
RESULT=$(
impala-shell -q "select count(*) from testable" |
awk -F'|' 'END{print $4}'
)
答案 1 :(得分:0)
RESULT=$( impala-shell -q "..." | tail -n 1 | grep -o '[[:digit:]]\+' )
或
RESULT=$( impala-shell -q "..." | sed -n '$s/[^[:digit:]]//gp' )