前面的话:
这几天写了一个程序,在同一个目录里生成了很多文件,需要统计其中部分文件的总大小,发现经常用到的ls、du等命令都无济于事,我甚至都想到了最笨的方法,写一个脚本:mkdir一个新目录,把要统计总大小的文件mv过去,然后du或者ls
-lh新目录。诚然,这个办法又笨又不精确,于是求助万能的....
分类:
其他好文 时间:
2014-05-04 12:14:30
阅读次数:
307
awk 处理数据时,它会自动从数据文件中一次读取一条记录,并会将该记录切分成一个个的字段;程序中可使用
$1, $2,... 直接取得各个字段的内容。这个特色让使用者易于用 awk 编写 reformatter 来改变数据格式。范例:以数据文件 emp.dat
为例,计算每人应发工资并打印报表。.....
分类:
其他好文 时间:
2014-05-04 12:11:43
阅读次数:
279
Pattern { Action }为awk中最主要的语法。若某Pattern的值为真则执行它后面的
Action。 awk中常使用"关系表达式" (Relational Expression)来当成 Pattern。 awk 中除了>, <,
==, != ,...等关系运算符( Relat...
分类:
其他好文 时间:
2014-05-04 12:05:45
阅读次数:
305
2.1 为什么用AWK
由于awk具有上述特色,在问题处理的过程中,可轻易使用awk来撰写一些小工具;这些小工具并非用来解决整个大问题,它们只扮演解决个别问题过程的某些角色,可通过Shell所提供的pipe将数据按需要传送给不同的小工具进行处理,以解决整个大问题。这种解题方式,使得这些小工具可因不....
分类:
其他好文 时间:
2014-05-04 11:58:55
阅读次数:
286
awk 中除了函数的参数列表(Argument
List)上的参数(Arguments)外,所有变量不管于何处出现,全被视为全局变量。其生命持续至程序结束——该变量不论在function外或
function内皆可使用,只要变量名称相同所使用的就是同一个变量,直到程序结束。因递归函数内部的变量,.....
分类:
其他好文 时间:
2014-05-04 11:49:11
阅读次数:
316
awk 通过判断 Pattern
的值来决定是否执行其后所对应的Actions。这里列出几种常见的Pattern:A.1 BEGIN BEGIN 为 awk 的保留字,是一种特殊的
Pattern。 BEGIN 成立(其值为true)的时机是: "awk 程序一开始执行,尚未读取任何数...
分类:
其他好文 时间:
2014-05-04 11:47:23
阅读次数:
277
awk程序中允许调用Shell指令,并提供管道解决awk与系统间数据传递的问题。所以awk很容易使用系统资源,读者可利用这个特点来编写某些适用的系统工具。范例:写一个awk程序来打印出线上人数。
将下列程序建文件,命名为 count.awk BEGIN { while ( "w...
分类:
其他好文 时间:
2014-05-04 11:45:51
阅读次数:
281
本节将示范一个统计上班到达时间及迟到次数的程序。 这程序每日被执行时将读入两个数据文件: *
员工当日到班时间的数据文件 ( 如下列的 arr.dat ) *存放员工当月迟到累计次数的文件
当程序执行执完毕后将更新第二个数据文件的数据(迟到次数),并打印当日的报表。这程序将分成下...
分类:
其他好文 时间:
2014-05-04 11:35:46
阅读次数:
394
awk 每次从数据文件中只读取一行数据进行处理。awk是依照其内置变量 RS(Record
Separator) 的定义将文件中的数据分隔成一行一行的Record。RS 的默认值是 "\n"(换行符),故平常awk中一行数据就是一条 Record。
但有些文件中一条Record涵盖了多行数据,...
分类:
其他好文 时间:
2014-05-04 11:31:49
阅读次数:
308
awk程序中允许使用字符串当做数组的下标(index)。利用这个特色十分有助于资料统计工作。(使用字符串当下标的数组称为Associative
Array) 首先建立一个数据文件,并取名为 reg.dat。此为一学生注册的资料文件;第一栏为学生姓名,其后为该生所修课程。 ...
分类:
其他好文 时间:
2014-05-04 11:30:50
阅读次数:
351