本文概览:介绍awk命令经常实现的功能。
1 实现数值累加
文件内容为
1 2 3 4 |
$ cat sum.txt 11 22 33 |
执行如下命令
1 2 |
$ awk '{sum += $1} END {print sum}' sum.txt 66 |
2 拼接sql
1、需求
存在文件inputFile,文件内容如下
1 2 3 |
10010227 12213333 12212211 |
需要根据文件生sql,以10010227为例,如下
1 2 3 |
select f_buyer_user_id,count(1) from wms_db_22.t_trans_22_7 where f_buyer_user_id =10010227 and f_state = 8 group by f_goods_id; |
2、命令
1 |
awk '{printf ("select f_buyer_user_id,count(1) from wms_db_%d%d.t_trans_%d%d_%d where f_buyer_user_id =%d and f_state = 8 group by f_goods_id; \n",$0%1000/100,$0%100/10,$0%1000/100,$0%100/10,$0%1000%10,$0)}' inputFile |
3 单引号
1 |
cat input.txt | awk '{print "insert into api_info(name)valuses('\''"$1"'\'');"}' |
即使用 如下来标识逗号: ‘\”,后面是两个单引号
(补充中)