将 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
我目前正在尝试找到一种方法,将标准输出从直线 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