源码分析
文章平均质量分 62
沐星晨
天道 酬勤 宁静 致远
展开
-
awk部分源码分析:RS及三种模式
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);再对原创 2010-07-20 12:28:00 · 1978 阅读 · 0 评论 -
grep正则执行模式粗探
今天群里讨论grep正则时,用到了-P选项查了下man -P, --perl-regexp Interpret PATTERN as a Perl regular expression.然后对grep的正则执行模式起了点兴趣,继续查看了grep的正则执行过程还是从main函数开始,跟踪grep的函数调用过程1:函数调用路径 在grep.c的main函数里,开始时,对参数(相当多)进行了分析(略) 然后调用正则编译函数 (*compile)(key原创 2010-06-08 14:48:00 · 1412 阅读 · 0 评论 -
awk读取标准输入的讨论&awk源码读取输入部分分析
<br />今天群里有人问了个问题:<br />grep ...|awk ... filename<br />这种情况下awk先将管道|的数据处理完后,再开始处理文件filename么?<br /> <br />答案很多人都知道是否定的,<br />一般的格式是:grep ...filename|awk ... <br />不过问题目的人是想实现这样的功能:<br />grep ... file1 | awk ... file2<br />将grep后的结果送给awk先存下来,再处理file2<br />大原创 2010-11-17 11:15:00 · 4818 阅读 · 1 评论