Linux给文件中每一行的前面、后面、指定列添加/删除相同字符

时间:2025-02-23 07:01:00

需要用到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}' >

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

awk '{print $0";"}' >

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

 

样子看看:

drop table t_131760;

drop table t_131760_1;

drop table t_131761_1;

drop table t_131761_2;