使用shell命令给文件中每一行的前面、后面添加字符

时间:2021-08-20 00:47:16

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.