将beeline生成的表重定向到没有网格的文本文件(shell脚本)

ztmd8pv5  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(407)

我目前正试图找到一种方法,将标准输出从beelineshell重定向到没有网格的文本文件。我现在面临的最大问题是,我的列有负值,当我使用regex删除“-”时,它会影响列值。

+-------------------+
|       col         |
+-------------------+
| -100              |
|  22               |
| -120              |
| -190              |
| -800              |
+-------------------+

下面是我要做的:

beeline -u jdbc:hive2://localhost:10000/default \
  -e "SELECT * FROM $db.$tbl;" | sed 's/\+//g' | sed 's/\-//g' | sed 's/\|//g' > table.txt

我正在尝试清理此文件,以便可以将所有数据读入一个变量。

4smxwvx5

4smxwvx51#

假设所有数据都具有相同的模式,其中没有显著的“-”被 Package 在“+”中:

[root@machine]# cat boo
+-------------------+
|       col         |
+-------------------+
| -100              |
|  22               |
| -120              |
| -190              |
| -800              |
+-------------------+

[root@machine]# cat boo |  sed 's/\+-*+//g' | sed 's/\--//g' | sed 's/|//g'

       col

 -100
  22
 -120
 -190
 -800

相关问题