如何在Linux Shell脚本中获取hbase的所有表并在每个表上进行操作?

时间:2018-07-01 03:58:39

标签: shell hbase

现在我可以用这段代码来做到这一点,但是有更好的方法吗?

output=`echo "list" | hbase shell`
output=`echo ${output} | cut -d'[' -f 2 | cut -d']' -f 1`
IFS=',' read -ra  tables <<< "$output"
for tb in "${tables[@]}"; do
    echo "${tb}\n"
done

1 个答案:

答案 0 :(得分:2)

您可以将其简化一些,如下所示。这不涉及任何中间变量声明,希望对您有所帮助。

echo 'list' | hbase shell | sed -e '1,/TABLE/d' -e '/seconds/,$d' |
while IFS='' read -r line || [[ -n "$line" ]]; do
    echo "$line"
done