首页 > 其他 > 详细

一些shell脚本实例

时间:2014-02-15 05:58:08      阅读:382      评论:0      收藏:0      [点我收藏+]

在群里也混了不少时间了.总结一些实例

#统计QQ消息里面某个用户改名字的记录
# awk -f
# 聊改名字记录
#特殊例子 例如
#2013-11-28 9:23:56 北京-AA-Vip<123456789@qq.com>
#2013-11-28 9:23:42 中山-BB(10570765)

bubuko.com,布布扣
/^[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
        }
    }
}
bubuko.com,布布扣

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}

一些shell脚本实例

原文:http://www.cnblogs.com/msccreater/p/3549867.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!