- 浏览: 151152 次
- 性别:
- 来自: 北京
最新评论
文章列表
?xml version="1.0"?>
<system>
<machine name="web01" >
<server name="log_collect">
<processes>1</processes>
<threads>1</threads>
<options>-t1 </options> ...
- 2013-12-07 01:25
- 浏览 588
- 评论(0)
1.读elf文件
arm-eabi-nm *.elf
2.awk字符判断 及 if语句
运算符
描述
赋值运算符
= += -= *= /= %= ^= **=
- 2013-12-07 01:25
- 浏览 565
- 评论(0)
简介
IBM HTTP Server 是基于 Apache Web Server 之上开发的一个多功能 Web 服务器。IBM HTTP Server 扩展了 Apache 的功能,引入了一些 Apache 没有的功能。比如,能够使用 IBM 快速响应高速缓存加速器,以及更方便的与 IBM WebSphere 其他产品 ...
- 2013-12-07 01:21
- 浏览 484
- 评论(0)
awk的程序执行过程,总是先读取一部分数据到buf下,根据RS截取一段段记录下来。
RS做为awk的内置变量,即可以在awk程序中进行设置,也可以用参数的形式进行指定。
这篇文章讨论的是从awk的源码去分析在不同的RS下的三种执行分支及其相应的效率
以下开始分析源码:
首先,awk调用get_a_record 函数获取单条记录,在get_a_record函数里,先读入一段数据到buf下
iop->count = read(iop->fd, iop->buf, iop->readsize);
再对buf进行分析,根据RS截取一段记录
...
- 2013-12-07 01:18
- 浏览 384
- 评论(0)
今天群里有人问了个问题:
grep ...|awk ... filename
这种情况下awk先将管道|的数据处理完后,再开始处理文件filename么?
答案很多人都知道是否定的,
一般的格式是:grep ...filename|awk ...
不过问题目的人是想实现这样的功能:
grep ... file1 | awk ... file2
将grep后的结果送给awk先存下来,再处理file2
大致的需求是明白了
问题大于awk在有文件参数的情况下是忽视标准输入的(见下边的源码分析)
所以解决的方法有下边几个
1:awk ... <(grep ... f ...
- 2013-12-07 01:17
- 浏览 416
- 评论(0)
awk 命令全解析
1. awk是什么?
AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母)的最大功能取决于一个人所拥有的知识。
AWK 提供了极其强大的功能:可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上 AWK 的确拥有自己的语言:AWK 程序设计语言, 三位创建者已将它正式定 ...
- 2013-12-07 01:17
- 浏览 316
- 评论(0)
前言:
cu上出了个shell题:
http://bbs.chinaunix.net/thread-2319120-1-1.html
第八题:GNU awk的$1=$1到底有什么作用?$0=$0呢?
这题问得相当的细致。可能很多人已经常用这二个赋值语句,却半知半解。以下分二部分对这个题目进行分析
建议没心情,没耐心,没兴趣的人,只需要了解下第一部分,看第二部分就表看了,很罗嗦的。
第一部分:能过man上边的解析,回签这二个赋值语句的功能
第二部分:awk部分源码解析(结点树简介,及域模块)
通过分析awk域模块源码
,了解awk的内部处理机制
参考程序及源码 ...
- 2013-12-07 01:14
- 浏览 430
- 评论(0)
这里将列出 gawk.exe 程式的一些例子。
gawk.exe.exe "{if (NF > max) max = NF}
END {print max}"
此程式会印出所有输入行之中,栏位的最大个数。
gawk.exe "length($0) > 80"
此程式会印出一行超过80 个字元的每一行。此处只有 pattern 被
列出,action 是采用内定的 print。
gawk.exe "NF > 0"
对於拥有至少一个栏位的所有行,此程式皆会印出。这是一个简
单的方法,将一个档案里的所有 ...
- 2013-12-07 01:03
- 浏览 473
- 评论(0)
14.8.gawk的内建函数14.8.1. 字符串函数*sub函数匹配记录中最大、最靠左边的子字符串的正则表达式,并用替换字符串替换这些字符串。如果没有指定目标字符串就默认使用整个记录。替换只发生在第一次匹配的时候。格式如下:sub (regular expression_r, substitution string):sub (regular expression_r, substitution string, target string)实例:gawk.exe "{ sub(/test/, """mytest"""); p ...
- 2013-12-07 01:03
- 浏览 367
- 评论(0)
<wbr>14.5. 条件语句<br>
gawk中的条件语句是从C语言中借鉴过来的,可控制程序的流程。<br>
14.5.1. if语句<br>
格式:<br>
{if (expression_r){<br>
statement; statement; ...<br>
}<br>
}<br>
gawk.exe "{if ($1 <$2) print $2 """too high"""}&qu ...
- 2013-12-07 01:03
- 浏览 262
- 评论(0)
9. 匹配操作符(~)
用来在记录或者域内匹配正则表达式。如gawk.exe "$1 ~/^root/" test.txt将显示test文件第一列中以root开头的行。
10. 比较表达式
conditional expression_r1 ? expression_r2: expression_r3,例如:gawk.exe "{max = {$1 > $3} ? $1: $3: print max}" test。如果第一个域大于第三个域,$1就赋值给max,否则$3就赋值给max。
gawk.exe "$1 + $2 < 1 ...
- 2013-12-07 01:02
- 浏览 367
- 评论(0)
gawk内建环境变量:
变量 描述
$n 当前记录的第n个字段,字段间由FS分隔。
$0 完整的输入记录。
ARGC 命令行参数的数目。
ARGIND 命令行中当前文件的位置(从0开始算)。
ARGV 包含命令行参数的数组。
CONVFMT 数字转换格式(默认值为 ...
- 2013-12-07 01:02
- 浏览 402
- 评论(0)
<wbr><wbr><span></span>现在经常要处理到一些日志数据,对这些数据进行分析处理,但首先要对日志数据进行etl处理,如果简单的数据格式处理,使用gawk是最理想不过了,下面我们就介绍如何使用gawk,对数据进行e ...
- 2013-12-07 01:01
- 浏览 465
- 评论(0)
【gawk 是 GNU 的 awk,具有很强的文本处理功能,简洁优美。】
第一章 前言
第二章 简介
第三章 读取输入档案
第四章 印出
第五章 Patterns
第六章 算式(Expression)作为Actions的叙述
第七章 Actions里面的控制叙述
第八章 内建函式(Built-in Functions)
第九章 使用者定义的函式
第十章 实例
=======================================
第一章 前言
awk 是一个程式语言,对于文本处理具有很强的功能。对於文字档里的资料做修改、比对、抽取等的处理,awk ...
- 2013-12-07 00:58
- 浏览 320
- 评论(0)
一、文本间隔
1、在每一行后面增加一空行
sed G guo.sh
awk '{printf("%s\n\n",$0 ) }'
2、将文件中原来的空行删掉,并在在每一行后边增加一空行
sed '/^$/d;G '
awk '!/^$/ {printf("%s\n\n",$0 ) }'
3在匹配式样的行前插入一空行
sed '/good/i\\'
sed '/hello/{x;p;x;}'
awk '{ if(/hello/) printf("\n\%s\n",$0);else print $0}'
4、在匹配式样的 ...
- 2013-12-07 00:38
- 浏览 459
- 评论(0)