awk

awk的三种调用方法:
1. 命令方式
awk [-F filed-seperator] 'awk-command' input-files
[-F field-seperator]是可选项,awk通常默认的IFS是空格,如果浏览以空格为域分隔符的文本,则该选项可忽略;但如果浏览像passwd这种以冒号为IFS的文本,则需要加上该选项,如:
awk -F: 'awk-command' input-file
2. 将所有awk命令写入一个文本,首行用#!/bin/awk标示
3.将所有awk命令写入一个文本,然后用awk -f awk-file input-files方式调用

awk处理文本的方式
awk处理文本时,每次读入一行,并利用IFS将该行分隔成不同的域, 如下

3.模式和动作
任何 awk语句都有模式和动作组成。模式部分决定动作语句何时触发及触发事件。动作即对数据进行处理。如果省略模式部分,则动作将时刻保持执行状态。
模式包括两个特殊字段:BEGIN 和 END
实际动作在打括号{}内指明

4. 域和记录
awk执行时,其浏览域标记为$1,$2,$3,......$n。这种方法称为域标识。$0表示所有域。
当读入一个新行时,将重新设置所有域

5.注意点
确保整个awk命令用单引号括起来
确保命令内所有引号成对出现
确保用花括号括起动作语句,用圆括号括起条件语句

6.条件操作符
  • 匹配:为使域匹配正则表达式,使用符号“~”后紧跟正则表达式,也可使用if语句。awk中if语句的条件必须用()括起来,如:$awk '{if($4~/Brown/) print $0}' data.file
  • 精确匹配:$awk '{if($4=="Brown") print $0}' data.file
7.awk的内置字符串函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值