沉于思考,默默学习!

你不能预知明天,但你可以利用今天。你不能样样顺利,但你可以事事尽力!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2010年10月11日

摘要: 前言:使用awk作为文本处理工具,正则表达式是少不了的。 要掌握这个工具的正则表达式使用。其实,我们不必单独去学习它的正则表达式。正则表达式就像一门程序语言,有自己语法规则已经表示意思。 对于不同工具,其实大部分表示意思相同的。在linux众多文本处理工具(awk,sed,grep,perl)里面用到正则表达式。其实就只有3种类型。详细可以参考:linux shell 正则表达式(BREs,ERE... 阅读全文
posted @ 2010-10-11 11:47 程默 阅读(156788) 评论(5) 推荐(2) 编辑

摘要: awk作为文本处理优秀工具之一,它有独自丰富的运算符。下面我们一起归纳总结一下,所有运算符。 可以分为:算术运算符,赋值运算符,关系运算符,逻辑预算法,正则运算符。一、运算符介绍运算符描述赋值运算符= += -= *= /= %= ^= **=赋值语句逻辑运算符||逻辑或&&逻辑与正则运算符~ ~!匹配正则表达式和不匹配正则表达式关系运算符< <= > >=... 阅读全文
posted @ 2010-10-11 00:05 程默 阅读(35095) 评论(0) 推荐(0) 编辑

2010年10月10日

摘要: 则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成&ld... 阅读全文
posted @ 2010-10-10 17:51 程默 阅读(21079) 评论(8) 推荐(13) 编辑

摘要: 前一段时间,我写过一篇文章,shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询),其中提到了分析耗时页面重要性。今天主要讲的,是通过awk分析日志,快捷得到执行时间。在性能以及效率方面比前一篇提到的有很大提高!一、web日志文件格式222.83.181.42 - - [09/Oct/2010:04:04:03 +0800] GET /pages/international/tej... 阅读全文
posted @ 2010-10-10 01:12 程默 阅读(5511) 评论(1) 推荐(0) 编辑

2010年10月9日

摘要: 通过第3方工具获得网卡流量,这个大家一定很清楚。其实通过脚本一样可以实现效果。下面是我个人工作中整理的数据。以下是shell脚本统计网卡流量。实现原理:[chengmo@localhost ~]$ cat /proc/net/devInter-| Receive | Transmitface |bytes packets errs drop fifo frame compressed multic... 阅读全文
posted @ 2010-10-09 18:36 程默 阅读(8438) 评论(3) 推荐(1) 编辑

摘要: 处理文本,是awk的强项了。 无论性能已经速度都是让人惊叹! [chengmo@localhost ~]$ awk 'BEGIN{ while("netstat -an"|getline){ if( $5 ~ /[1-255]/) { split($5,t1,":"); tarr[t1[1]]++; } } for(k in tarr) { print k,tarr[k] | "sort -r ... 阅读全文
posted @ 2010-10-09 16:50 程默 阅读(2758) 评论(0) 推荐(0) 编辑

摘要: 由于awk数组,是关联数组。for…in循环输出时候,默认打印出来是无序数组。[chengmo@localhost ~]$ awk 'BEGIN{info = "this is a test";split(info,tA," ");for(k in tA){print k,tA[k];}}'4 test1 this2 is3 a如果需要按照顺序输出,通过键值定位方式输出。[cheng... 阅读全文
posted @ 2010-10-09 16:07 程默 阅读(37649) 评论(0) 推荐(1) 编辑

摘要: awk中数据类型,是不需要定义,自适应的。 有时候需要强制转换。我们可以通过下面操作完成。一、awk字符串转数字[chengmo@centos5 ~]$ awk 'BEGIN{a="100";b="10test10";print (a+b+0);}' 110 只需要将变量通过”+”连接运算。自动强制将字符串转为整型。非数字变成0,发现第一个非数字字符,后面自动忽略。 二... 阅读全文
posted @ 2010-10-09 15:06 程默 阅读(71209) 评论(1) 推荐(3) 编辑

2010年10月8日

摘要: 用awk进行文本处理,少不了就是它的数组处理。那么awk数组有那些特点,一般常见运算又会怎么样呢。我们先看下下面的一些介绍,结合例子我们会讲解下它的不同之处。在 awk 中数组叫做关联数组(associative arrays),因为下标记可以是数也可以是串。awk 中的数组不必提前声明,也不必声明大小。数组元素用 0 或空串来初始化,这根据上下文而定。例如: 一、定义方法 1:可以用数值作数... 阅读全文
posted @ 2010-10-08 23:06 程默 阅读(102297) 评论(1) 推荐(1) 编辑

摘要: 这节详细介绍awk内置函数,主要分以下3种类似:算数函数、字符串函数、其它一般函数、时间函数一、算术函数:以下算术函数执行与 C 语言中名称相同的子例程相同的操作:函数名说明atan2( y, x )返回 y/x 的反正切。cos( x )返回 x 的余弦;x 是弧度。sin( x )返回 x 的正弦;x 是弧度。exp( x )返回 x 幂函数。log( x )返回 x 的自然对数。sqrt( ... 阅读全文
posted @ 2010-10-08 16:01 程默 阅读(124701) 评论(10) 推荐(10) 编辑