将 Beeline 生成的表格重定向到没有网格的文本文件(Shell 脚本)
Posted
技术标签:
【中文标题】将 Beeline 生成的表格重定向到没有网格的文本文件(Shell 脚本)【英文标题】:Redirect the table generated from Beeline to text file without the grid (Shell Script) 【发布时间】:2020-09-15 22:40:49 【问题描述】:我目前正在尝试找到一种方法,将标准输出从直线外壳重定向到没有网格的文本文件。我现在面临的最大问题是我的列有负值,当我使用正则表达式删除“-”时,它会影响列值。
+-------------------+
| 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
我正在尝试清理这个文件,以便将所有数据读入一个变量。
【问题讨论】:
【参考方案1】:假设您的所有数据都具有相同的模式,其中没有重要的“-”包含在“+”中:
[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
【讨论】:
以上是关于将 Beeline 生成的表格重定向到没有网格的文本文件(Shell 脚本)的主要内容,如果未能解决你的问题,请参考以下文章