沉于思考,默默学习!

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

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

随笔分类 -  linux

上一页 1 2

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

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

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

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

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

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

摘要:awk是个优秀文本处理工具,可以说是一门程序设计语言。下面是awk内置变量。一、内置变量表属性说明$0当前记录(作为单个变量)$1~$n当前记录的第n个字段,字段间由FS分隔FS输入字段分隔符 默认是空格NF当前记录中的字段个数,就是有多少列NR已经读出的记录数,就是行号,从1开始RS输入的记录他隔符默 认为换行符OFS输出字段分隔符 默认也是空格ORS输出的记录分隔符,默认为换行符ARGC 命令... 阅读全文
posted @ 2010-10-06 21:46 程默 阅读(55692) 评论(3) 推荐(3) 编辑

摘要:在linux awk的 while、do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出。break中断当前正在执行的循环并跳到循环外执行下一条语句。if 是流程选择用法。 awk中,流程控制语句,语法结构,与c语言类型。下面是各个语句用法。一.条件判断语句(if)if(表达式) #if ( Variable in Array )... 阅读全文
posted @ 2010-10-04 18:42 程默 阅读(119046) 评论(0) 推荐(1) 编辑

摘要:这里提到awk,相信写shell的朋友都会接触到。AWK 是一种用于处理文本的编程语言工具。AWK 提供了极其强大的功能:可以进行正则表达式的匹配样式装入流控制数学运算符进程控制语句内置的变量和函数可以把awk看作一门完全的程序设计语言,它处理文本的速度是快得惊人的。现在很多基于shell 日志分析工具都可以用它完成。设计简单,速度表现很好。 涉及到以上六个方面内容,我会在以后文章中加以介绍。 这... 阅读全文
posted @ 2010-10-03 22:16 程默 阅读(70642) 评论(1) 推荐(2) 编辑

摘要:在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAU... 阅读全文
posted @ 2010-10-02 17:08 程默 阅读(386401) 评论(10) 推荐(29) 编辑

摘要:如果对linux shell 数组不是很熟悉的话,请看上一篇文章:linux shell 数组建立及使用技巧 ,这篇文章主要讲是动态生成数组系列。方法应该很多,我这里主要以一个求和计算的题目为例进行分析。 题目:请用linux shell 写一段脚本,实现从1..1000中所有偶数的和值。方法一:通过while 循环得到需要的结果:start=1;total=0;while [ $start -l... 阅读全文
posted @ 2010-09-30 18:28 程默 阅读(18164) 评论(0) 推荐(0) 编辑

摘要:在刚刚学习写shell 批处理时候,进行逻辑运算中,少不了需要进行基础的:四则运算,这里说说在linux shell 里面简单的实现方法。1.简单方法[chengmo@centos5 ~]$ b=$((5*5+5-3/2)) [chengmo@centos5 ~]$ echo $b29在linux shell中,我们可以使用 $(()) 将表达式放在括号中,即可达到运算的功能。2.其它方法:用:e... 阅读全文
posted @ 2010-09-30 15:47 程默 阅读(74574) 评论(0) 推荐(4) 编辑

摘要:最近一段时间,在处理Shell 脚本时候,遇到时间的处理问题。 时间的加减,以及时间差的计算。1。 时间加减这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒。如:1990-01-01 01:01:01 加上 1小时 20分处理方法:a.将基础时间转为时间戳time1=$(date +%s -d '1990-01-01 01:01:01')echo $time16311... 阅读全文
posted @ 2010-07-13 14:52 程默 阅读(82265) 评论(0) 推荐(1) 编辑

上一页 1 2