需求:对账支付文件剔除退款文件的订单
1、使用变量aa接收文件awk取值(注意使用|分割、printf不换行)
aa=`more UPAYJFKC9820170604.101.bak|awk -F "," '{printf "|"$4}'`
2、使用sed除去第一个|符号,然后给变量bb
bb=`echo $aa|sed 's/.//'`
3、使用grep -v排除 -E使用扩展正则
此时注意:-E 是大写 ,匹配条件一定要加 引号
grep -v -E "$bb" UPAYJFKC9820170604.101> cs.txt
GetFile]$ date && grep -v -E "$bb" UPAYJFKC9820170604.101> cs.txt && date
Fri Jul 28 11:38:38 CST 2017
Fri Jul 28 11:39:06 CST 2017
批量处理,400w数据剔除2千笔数据,几十秒,还可以吧!
阅读(1502) | 评论(0) | 转发(0) |