揭阳网站建设团队,网站上的搜索功能是怎么做的,企业网站建设可行分析,有部分网站打不开最近两天尝试用python代替bash写Linux Shell脚本来统计日志。发现python写起来比bash更简单和容易阅读#xff0c;发现不少惊喜。所以写了一个粗糙的脚本来统计日志。目标1、通过简单命令和脚本统计事件发生数2、日志限定文本类型假定环境日志文件#xff1a;1.logtest:aaa,1…最近两天尝试用python代替bash写Linux Shell脚本来统计日志。发现python写起来比bash更简单和容易阅读发现不少惊喜。所以写了一个粗糙的脚本来统计日志。目标1、通过简单命令和脚本统计事件发生数2、日志限定文本类型假定环境日志文件1.logtest:aaa,1test:bbc,1test:bbc,2test:bba,2test:baa,3test:baa,1other1:xx,bb,3other2:32日志文件2.logtest:ab,2other3:123统计脚本log_static.py统计脚本1 #!/usr/bin/python2 importsys3 #1st arg for tag key4 keytest:iflen(sys.argv)2;elsesys.argv[1]5 #2nd arg for split signal6 split,iflen(sys.argv)3elsesys.argv[2]7 #3rd arg for static index8 stat_idx0iflen(sys.argv)4elseint(sys.argv[3])9 key_map{}10 #loop for read11 whileTrue:12 #reading line from piple13 linesys.stdin.readline()14 lineline[:-1]ifline.endswith(\n)elseline15 iflen(line)0:16 break17 #find current key to static18 cur_keyline.split(key)[1].split(split)[stat_idx]19 #update static20 key_map[cur_key]key_map[cur_key]1if(key_map.has_key(cur_key))else121 22 #sort the map23 resultsorted(key_map.items(),lambdax,y: cmp(y[1],x[1]))24 #print out25 forkey,valueinresult:26 print%s,%s%(key,value)运行添加执行权限chmod log_static.py选择关键标签test:日志值分隔符为,统计第一位发生次数grep test *.log | ./log_static.py test: , 0 1.cvs统计第二位发生次数grep test *.log | ./log_static.py test: , 1 2.cvs结果统计文件1.cvsbbc,2baa,2ab,1aaa,1bba,1统计文件2.cvs1,32,33,1备注#!/usr/bin/python python库引用import sys 导入系统组建sys.argv 调用参数target value 1 if (statement) else value2 相当于target statement ? value 1 : value2python的通过缩进判断分块没有结束符号while (statement) True:#code here设置arr [1,2,3,4]arr[:-2]筛选变为[1,2] 除了筛选还可以赋值arr[0 for x in range(0, 10)]lambda x,y : cmp(y[1], x[1]) lambda运算表述传入参数x,y 返回y[1]和x[1]的比较值(倒序)for x,y in list 表示枚举list的每一项(item)其中x取值item[0]y取值item[1]print %s,%s % (x,y) 格式化打印,%s代表该位置的字符串类型