與awk命令相似sed命令也用來批量處理文字,同樣是文字處理神器
基本命令形似
sed [options] 'command' file(s)
比如hive的hdfs資料通常以日期分割槽,在hive指令碼中如果直接用from_unix表示當天日期,會無法識別分割槽導致效率極其低下
通常可以在hive指令碼中先用乙個字串代替日期,在執行時使用sed命令把字串替換成當天日期即可,比如
test.sql文字如下,獲取最近30天的log
select * from log where cal_dt>=date_sub($,30)
date +%y-%m-%dtest.sql中使用$代替當提日期,在執行前替換成真正的日期字串
date=`date +%y-%m-%d`
sed -e s/\$/\'$\'/g test.sql > test_1.sql
hive -f test_1.sql
Sed命令學習
該文章 jims of 肥肥世家 table of contents 1.sed簡介 2.定址 3.sed命令 4.選項 5.元字符集 6.例項 7.指令碼 8.小技巧 可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1...
sed命令學習
緒 下文僅是本人學習sed時候的一些記錄,歡迎拍磚指正 sed基本編輯命令 建立批註 為換行符 集合有相同位址引數的指令。不執行函式引數 若匹配則不執行 注 n 不是最後一行,執行n命令 sed s replace g 注意使用技巧 列印匹配行的行號 line number 最多乙個位址引數 行數在...
sed命令學習(2)
table of contents 1.sed簡介 2.定址 3.sed命令 4.選項 5.元字符集 6.例項 7.指令碼 1.sed簡介 2.定址 可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1,3表示1,2,3行...