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


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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM