awk的使用 第一部分

awk概述
    为什么使用awk: awk 是一种程序语言。 它具有一般程序语言常见的功能。 因awk语言具有某些特点, 如:使用直译器(Interpreter)不需先行编译; 变量无类型之分(Typeless), 可使用文字当数组的下标 (Associative Array)。。。等特色。 因此,使用awk撰写程序比起使用其它语言更简洁便利且节省时间。awk还具有一些内建功能,使得awk擅于处理具数据行(Record), 字段(Field)型态的资料; 此外, awk 内建有管道(pipe) 的功能,可将处理中的数据传送给外部的Shell命令加以处理, 再将Shell命令处理后的数据传回awk程序, 这个特点也使得awk程序很容易使用系统资源。由于awk具有上述特色, 在问题处理的过程中,可轻易使用awk来撰写一些小工具;这些小工具并非用来解整个大问题,它们只扮演解个别问题过程的某些角色, 可藉由Shell所提供的管道(pipe)将数据按需要传送给不同的小工具进行处理,以解决整个大的问题。 这种解决方式, 使得这些小工具可因不同需求而被重复组合及重用(reuse); 也可藉此方式来先行测试大程序原型的可行性与正确性,将来若需要较高的执行速度时再用C语言来改写。这是awk最常被应用之处。 若能常常如此处理问题,  读者可以以更高的角度来思考抽象的问题,不会被拘泥于细节的部份。 

  如何取得awk: 一般的LINUX/UNIX操作系统, 都默认安装了awk。 只不过awk版本可能不太相同。

    awk如何工作: 为方便解释awk程序的框架结构和有关术语(terminology), 先以一个员工薪工资档案(emp.dat ), 进行介绍,文件内容如下:
A101 chenying 100 210
A304 linxiyu     110 215
S283  degnming 130 209
S267 liuchao       125 220
B108 hejing          95 210
    文件中各字段依次为:员工ID, 姓名, 薪资率,及实际工时。 ID中的第一码为部门名称代码,。 “A”,”B”,“S”分别表示”“accp部门”,“benet部门”,“市场部”。
    这里主要说明awk程序的主要架构及工作原理, 并对一些重要的名词进行必要的解释。  并体会一下awk语言的主要精神和awk与其它语程序言的不同之处。 首先了解一下几个名词定义:
    名词定义1   数据行: awk从数据文件上读取数据的基本单位,awk在进行数据处理的时候是以行为单位的,grep也是以行为单位进行数据处理的。。以emp.dat为例, awk读入的第一个数据行是第一行 “A125 Jenny 100 210″ ,第二个数据行是第二行 “A341 Dan 110 215″ ,其他的依次类推,
   名词定义2: 字段(Field) : 为数据行上被分隔开的子字符串。 以数据行”A125 Jenny 100 210″为例, 第一栏 第二栏 第三栏 第四栏的内容分别是: “A125″ ,”Jenny”, 100, 210 ,默认情况下,awk以空格分隔各个字段。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值