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

44 篇文章 1 订阅

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

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值