需要用到shell命令awk

在前面、后面、指定列添加相同字符

(1)给一个文件中的每一行开头插入字符的方法:awk '{print "需要添加的字符" $0}' fileName

(2)给一个文件中的每一行结尾插入字符的方法:awk '{print $0 "需要添加的字符"}' fileName

(3)给一个文件中的每一行的指定列插入字符的方法:awk '$0=$0 X"' fileName

删除某一个列

(1)删除文件中的第一列:awk '{$1="";print $0}' fileName 或者另一种方法 sed -e 's/[^ ]* //' text

(2)删除指定列:awk '{$Num="";print $0}' fileName

把Num换成要删除的列数即可

 

需求:

 

由于hive表中有大量的临时表,所以决定要想删除它们,这些表全是以t_开头。

因为hive的shell客户端不支持以某个字符开头或以正则表达式删除表,要么一个一个删,要么使用Java程序查出来再删。

 

操作过程:

1.把表全显示出来

show tables

2.把你要的表名复制到一个文件中

3.给文件中的每一行开头添加drop tables

awk '{print "drop table "$0}' aa.txt > bb.txt

4.给文件中的每一行结尾添加分号

awk '{print $0";"}' bb.txt > cc.txt

5.直接复制到hive的shell客户端执行即可

 

样子看看:

drop table t_131760;

drop table t_131760_1;

drop table t_131761_1;

drop table t_131761_2;

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐