Awk实用程序

 

Table of Contents


1 前面的话

awk常常用于处理数据和生成报告。它以逐行扫描的方式,查找匹配某个特定模式的文本,同时可以对匹配的行进行非常精细的操作。


2 awk的格式:

awk 'pattern {action}' filename

2.1 pattern

其中pattern指的就是匹配的模式,类似于grep,不过和sed的匹配更相似。例如'/ mail /'就是匹配以mail开始的行。


2.2 action

action类似于sed在匹配模式后面跟上的命令,它的所用就是对匹配到的文本进行某种操作。例如'/ mail / {print $1}',它将匹配以mail开头的行,并将其第一个字段打印出来。


3 awk的工作原理


awk以一行作为输入,并将该行赋给内部变量$0;接着,awk将根据分割符将行分割成多个字段,每一个字段按照顺序存储在$1, $2… 最多可以达到100个。这个很类似shell脚本的参数,$0代表本身,$1往后是位置参数,代表每一个参数。接着awk可以对每一个字段进行相应的操作,这是grep和sed很难实现的。


~$ awk '/calls/ {print $2, $5}' test

System provided
Library within

# 首先匹配包含calls的行,接着显示第2和第5个字段。


4 awk环境变量


NF字段数
NR记录数
FS分割符
OFS输出分割符



Date: 2012-10-14 Sun

Author: lishuo

Org version 7.9.1 with Emacs version 23

Validate XHTML 1.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值