在群里也混了不少时间了.总结一些实例
#统计QQ消息里面某个用户改名字的记录
# awk -f
# 聊改名字记录
#特殊例子 例如
#2013-11-28
9:23:56 北京-AA-Vip<123456789@qq.com>
#2013-11-28 9:23:42
中山-BB(10570765)
/^[0-9]+ [0-9:]+ [<(].*[>)] ?$/{ next } /^[0-9-]+ [0-9:]+ .*[<(].*[>)] ?$/{ QQ=gensub(/^[0-9-]+ [0-9:]+ [^(<]*[(<]([^)>]*)[)>]/,"\\1",$0) NAME=gensub(/^[0-9-]+ [0-9:]+ ([^<(]*)[<(].*/,"\\1",$0) if(A[QQ]==""){ A[QQ]=NAME next } if(QQ in A){ if(A[QQ]!=NAME){ print QQ" :\t\t"A[QQ]," ==> ",NAME A[QQ]=NAME } } }
0,1,2,10,22,00,01,2,3,33
得出下面的结果
00,01,02,10,22,00,01,02,03,33
方法1: echo ‘0,1,2,10,22,00,01,2,3,33‘ | awk -vRS=, ‘{printf("%02d,",$1)}END{printf("\b")}‘ 方法2: echo "0,1,2,10,22,00,01,2,3,33" | awk -vRS=, ‘BEGIN{a=""}{b=sprintf("%02d",$0);a=a?a "," b:b;}END{print a}‘
求数值N以内的质数和
awk -vmax=4 ‘BEGIN{nomax=0;yesmax=0;for(i=2;i<=max;i++){for(j=2;j<=sqrt(i);j++){if(i%j==0) break};if(j>sqrt(i)) yesmax+=i;else nomax+=i;}; print "非质数和=" nomax " 质数和=" yesmax}‘
原文:http://www.cnblogs.com/msccreater/p/3549867.html