如何解决将从Beeline生成的表重定向到不带网格的文本文件Shell脚本
我目前正在尝试寻找一种方法,以将标准输出从beeline 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。