awk 学习分享

一、awk 介绍
awk 语言的基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk 抽取信息后,进行其他文本操作,它是一个从大文本文件中抽取、解剖数据的利器,本文主要介绍awk怎样从文本文件和字符串中抽取解剖信息。
二、awk 调用方式
1、命令行方式:awk [-F delimiter] ‘commond’ input_file
-F 是可选的,delimiter是分隔符,可以是字符串;
如果设置了- F选项,则awk每次读一条记录或一行,并使用指定的分隔符分隔指定域,但如果未设置- F选项,awk假定空格为域分隔符,并保持这个设置直到发现一新行。当新行出现时,awk命令获悉已读完整条记录,然后在下一个记录启动读命令,这个读进程将持续到文件尾或文件不再存在。
2、文件调用: awk -f awk_script_file input_file
-f 选项指明awk脚本在awk_script_file文件中,input_file是输入的字符串文件
本文主要介绍第一种方式
三、awk 语句的执行
awk语句都是由模式和动作组成,在一个awk脚本中可能有许多语句。模式部分决定动作语句何时触发及触发事件。处理即对数据进行的操作。如果省略模式部分,动作将时刻保持执行状态。模式可以是任何条件语句或复合语句或正则表达式,以BEGIN开始 END结束。
动作大多数用来打印,使用{}括起来,如果不指明动作,awk 会打印浏览出的文本内容。
四、awk 实例
1、awk ‘{print 0}’ test.txt 0}’ test.txt 0 表示所有域,这句表示打印所有的text.txt文件中的内容。
2、awk ‘{print 1, 1 , 6}’ text.txt
以空格为分隔符,打印每一行的第一列和第六列内容
3、awk 条件操作符
这里写图片描述
awk ‘ 1 /test/text.txt 1   / t e s t / ′ t e x t . t x t 打 印 按 照 空 格 分 隔 后 1匹配到text的行
awk ‘ 3=="X"print$1text.txt 3 ==" X " p r i n t $ 1 ′ t e x t . t x t 打 印 按 照 空 格 分 隔 后 , 3==”X” 的 1awkif($1>$2)print$3text.txt 1 a w k ‘ i f ( $ 1 > $ 2 ) p r i n t $ 3 ′ t e x t . t x t 打 印 按 照 空 格 分 隔 后 , 1> 2 2 的 3
4、awk 内置变量
这里写图片描述
这里写图片描述
awk ‘END {print NR}’ installService.sh 打印记录数
5、awk 操作符
这里写图片描述
awk ‘{id= 1;name= 1 ; n a m e = 2; if(name==”richeldu”) print name ” id is ” id}’ text.txt
注意访问变量没有$
6、内置字符串函数
这里写图片描述
awk ‘gsub(“richel”, 123) {print $0}’ text.txt
awk ‘BEGIN {print length(“111”)}’
awk ‘BEGIN { print split(“richel#du”, arr, “#”)}’
五、总结
本文简单介绍了awk的用法,以及常见的函数,实际上awk 结合grep sed 将会发出更强大的威力,欲知详情如何,请看下次分享

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值