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.