将 Beeline 生成的 table 重定向到没有网格的文本文件(Shell 脚本)

Redirect the table generated from Beeline to text file without the grid (Shell Script)

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

+-------------------+
|       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

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

假设您的所有数据都具有相同的模式,其中没有重要的“-”包含在“+”中:

[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