AWK用法

AWK工作原理

  • 第一步:执行BEGIN{action;… }语句块中的语句

  • 第二步:从文件或标准输入(stdin)读取一行,然后执行pattern{action;… }语句块,它逐行扫描文件,从第
    一行到最后一行重复这个过程,直到文件全部被读取完毕。

  • 第三步:当读至输入流末尾时,执行END{action;…}语句块BEGIN语句块在awk开始从输入流中读取行之前被执行,这是一个可选的语句块,比如变量初始化、打印输出表格的表头等语句通常可以写在BEGIN语句块中END语句块在awk从输入流中读取完所有的行之后即被执行,比如打印所有行的分析结果这类信息汇总都是在END语句块中完成,它也是一个可选语句块pattern语句块中的通用命令是最重要的部分,也是可选的。如果没有提供pattern语句块,则默认执行{ print },即打印每一个读取到的行, awk读取的每一行都会执行该语句块

AWK用法介绍

基本用法:
awk [options] ‘program’ var=value file…
awk [options] -f programfile var=value file…
awk [options] ‘BEGIN{ action;… } pattern{ action;… } END{action;… }’ file …
awk 程序通常由: BEGIN语句块、能够使用模式匹配的通用语句块、END语句块,共3部分组成
program通常是被单引号或双引号中
选项:
-F 指明输入时用到的字段分隔符
-v var=value: 自定义变量
基本格式: awk [options] ‘program’ file…
program:pattern{action statements;..}
1、pattern和action:
• pattern部分决定动作语句何时触发及触发事件,也可以用正则表达式匹配, 但要用扩展正则表达式,例如:BEGIN,END,/pattern/
• action statements对数据进行处理,放在{}内指明,例如:print, printf
2、 program要放在单引号里,放在双引号里默认打印全部
3、分割符、域和记录
• awk执行时, 由分隔符分隔的字段(域)标记 $1, $2.. $n称为域标识。 $0为所有域,注意:和shell中变量 $符含义不同
• 文件的每一行称为记录
省略action,则默认执行 print $0 的操作
print格式: print item1, item2, …
• 逗号分隔符
• 输出的各item可以字符串,也可以是数值;当前记录的字段、变量或awk的表达式
• 如省略item,相当于print $0
• awk里输出内置变量不用加 $,只有域标识才加 $
例:
awk '{print "hello,awk"}'
awk -F: '{print}' /etc/passwd
awk –F: '{print $1}' /etc/passwd
awk –
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值