sed命令学习

与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(${date},30)


date +%Y-%m-%dtest.sql中使用${date}代替当提日期,在执行前替换成真正的日期字符串

date=`date +%Y-%m-%d`
sed -e s/\${date}/\'${date}\'/g test.sql >   test_1.sql
hive -f test_1.sql


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值