文件test:
文本内容如下:
a 2
b 3
c 6
a 8
d 9
处理方法,如果第一列相同,第二列值相加(比如a 10),处理完毕后,打印第二列的值大于8的数据。
awk:
awk '{a[$1]+=$2;}END{for(i in a){if(a[i]>8){print i" "a[i];}}}' test
python:
#!/usr/bin/env python
f = file("test",'r')
m = {}
for x in f.readlines():
key,value = x.split()
if m.has_key(key):
m[key] = int(m[key])+int(value)
else:
m[key] = value
if int(m[key]) < 8:
del m[key]
print m
for k,v in m.items():
print k,v