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

89 篇文章 3 订阅

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

  • 7
    点赞
  • 27
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值