2006-08-03

分析fud server的日志文件

Giesla想要一些关于fud server的统计数据,因此得简单处理fud server的日志文件。平时也就用用vi,grep之类的小工具,或者使用现成的工具。现在这个server log的格式不是标准格式,只好自己动手了。从简单的学习sed开始吧。

sed的基础知识:

sed作为行编辑器对于处理文本很方便,其工作的原理是:sed 从标准输入读入一行放到pattern space里,sed按照sed script的编辑命令逐一对pattern space里的内容执行编辑,然后把编辑的结果送到标准输出,接着再将下一行读入。如此重复执行上面的动作,直至读完所有的行。

常见的命令模式为:sed -e [address1[,address2]] function [argument] urfile。[address1[,address2]] 地址范围用于制定后面命令的作用范围。指定地址可以用十进制的数字,也可以用正则表达式来制定匹配的行。如:
删除第10行, 10d
删除从第10行到100行,10,100d
删除从第10行到包含字符串foo的行, 10,/foo/
这里也可以用一个正则表达式替换foo用以制定作用范围为匹配regexp的行。

当没有指定地址范围时,默认对所有的行作编辑动作。当有两个地址表达式时,第一个表达式制定起始行,第二个指定结束行。
一个常用的选项是 -n ,表示输出由编辑命令来决定,而不是默认地将pattern space的内容输出。

没有评论:

发表评论