日志文件:xx.dat(xx为时间标签)
日志格式:
#startTime xxxx
#username number
admin 123
testuser 34
admin 3443
...
需求:将目录下所有dat内文件按用户累加number 输出
机器上有ubuntu,但考虑开发还是用xp,临时装了个cygwin,调试了大半天,发现awk真是强壮,shell真是强壮
得到两个命令
命令:
1、for file in '*.dat';do awk -F' ' '$1!="#"&&$1!="" {a[$1]+=$2}END {for (i in a) print i" "a[i]}' ${file};done
2、cat *.dat|awk -F' ' '$1!="#"&&$1!="" {a[$1]+=$2}END {for (i in a) print i" "a[i]}'
两种方式均可,但日志1天有200多个,每个5-10M,暂不知两个是否在效率上有不同,有待具体测试。。。