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.

相关文章:

  • 2021-05-29
  • 2021-07-05
  • 2022-01-30
  • 2021-06-01
猜你喜欢
  • 2021-12-12
  • 2022-12-23
  • 2022-12-23
  • 2022-02-06
  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
相关资源
相似解决方案