python中如何实现类似于grep “XXXX”|awk '{print $2}'|wc -l的功能?

比如 我又一个文件a
ip1 50
ip1 40
ip2 30

我想提取出ip1那一列大于45的行数,如果用shell实现的话就是
cat a|grep “ip1”|awk '{print $2}'|wc -l
我想问用python的话如何实现这个

import re
contents=open('a').read()
total=re.findall(r'ip1[ \t]+(\d+)',contents)
big45=[int(i) for i in total if int(i)>45]
print("total ip1:%d ,ip1 number bigger than 45:%d"%(len(total),len(big45)))

用python的正则模块re呀!!!

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-14
f=open('a.txt','r')
lines=f.readlines()
i=1
for line in lines:
    value=int(line.split(' ')[1].strip())
    if value >45:
        print 'line %d value:%d > 45'%(i,value)
    i=i+1
    
 #会输出行数和那行的值

相似回答