Chinaunix首页 | 论坛 | 博客
  • 博客访问: 396324
  • 博文数量: 104
  • 博客积分: 652
  • 博客等级: 上士
  • 技术积分: 1477
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-04 15:20
文章分类

全部博文(104)

文章存档

2019年(1)

2015年(8)

2014年(6)

2013年(59)

2012年(30)

awk

分类: LINUX

2013-06-20 09:30:26

awk的工作流程:
·

awk [options] '/pattern/{action}' file            指定的file文件有多少行,就会执行多少次'/pattern/{action}' 中的语句


[root@share ~]# awk 'BEGIN {print "hello,world"}'
hello,world
BEGIN模式用于指定在第一个输入行读入之前要执行的动作。awk打印这个消息,然后退出程序。如果一个程序只有一个BEGIN模式,并没有其他的语句,awk将不处理任何输入文件。


将规则写进文件:
[root@share ~]# vim blac_awk
    /^$/ {print "2222222222222"}
[root@share ~]# awk -f blac_awk a            -f用来调用awk脚本
2222222222222


字段的引流和分离:
awk允许使用字段操作符$来指定字段。在该操作符后面跟着一个数字和变量,用于标识字段的位置。"$1"表示第一个字段,"$2"表示第一个字段,"$0"表示整个输入记录。在命令行中使用-F选项改变字段分隔符。它后面跟着(或者紧跟,或者有空格)分隔符。

通过定义系统变量FS来改变字段分隔符。因为这必须在读取第一个输入行之前执行,所以必须在由BEGIN规则控制的操作中指定这个变量。  命令行中可以使用-F




文件格式不规则时,取最后一个字段

阅读(828) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~