shell command
shell给一个文件中的每一行开头插入字符的方法:awk '{print "xxx"$0}' fileName
shell给一个文件中的每一行结尾插入字符的方法:awk '{print $0"xxx"}' fileName
shell给一个文件中的每一行的指定列插入字符的方法:awk '$O=$O" xxx"' fileName
需求:
由于hive表中有大量的临时表,所以决定要想删除它们,这些表全是以test_开头。
因为hive的shell客户端不支持以某个字符开头或以正则表达式删除表,一般写个python 脚本连接hs2,做规则匹配删除也挺好。
今天思路做,操作过程:
1.把表全显示出来
hive -e"use db;show tables" > tables
2.给文件中的每一行开头添加drop tables
awk '{print "drop table "$0}' tables > drop_tables
3.给文件中的每一行结尾添加分号
awk '{print $0";"}' drop_tables > drop_tables_sql
4.现use db; 然后直接复制到hive的shell客户端执行即可
done.