首页 > 其他 > 详细

awk-01-选项和模式

时间:2021-08-13 17:25:46      阅读:17      评论:0      收藏:0      [点我收藏+]



awk介绍

awk 是一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件、数据排序、计算以及生产报表等等


语法
awk option ‘ pattern {action} ‘ file
pattern 表示awk在数据中查找的内容
action 是在找到匹配内容时所执行的一系列命令
花括号用于根据特定的模式对一系列指令进行分组


awk 处理的工作方式和数据库类似,支持对记录和字段处理,这也是grep和sed不能实现的


用 1,2,3...数字的方式顺序的表示行(记录)中的不同字段
用$后跟数字,引用对应的字段,以逗号分隔, 0 表示整个行

技术分享图片




选项

技术分享图片




模式

常用模式

技术分享图片

动作就是 print 、流程控制、I/O语句等




示例

1 从文件中读取awk程序处理文件

技术分享图片


2 指定分隔符,打印指定字段

技术分享图片

指定多个分隔符

[ ] 元字符的意思时 符号其中任意一个字符,也就是说每次遇到一个 / 或者 # 就分割一个字段,这样更能处理字段

技术分享图片


3 三种变量赋值的方法

技术分享图片


4 输入akw全局变量到文件

技术分享图片


5 BEGIN和END

BEGIN 处理文件之前执行该操作,常用于修改内置变量、变量赋值、打印输出的页眉和标题

打印页眉

技术分享图片

END 是在程序处理完才会执行

打印页尾

技术分享图片


6 格式化输出 awk命令 到文件,默认输出文件为awkprof.out

技术分享图片


7 /re/ 正则匹配

技术分享图片


8 逻辑and、or、和not

8.1 匹配包含blp5和tcp的行

技术分享图片

8.2 匹配包含 blp5 或 tcp 的行

技术分享图片

8.3 不匹配开头是 blp5 和 tcp 的行

技术分享图片


9 匹配范围

技术分享图片

匹配关键字下一行到最后一行
解释:
1和2都不匹配3,不执行后面{ },执行t,t变量还没赋值,为空,空在awk中就为假,就不打印当前行。
匹配到3,执行t=1,next跳出,不执行t
4也不匹配3,执行t,t的值上次赋值为1,为真,打印当前行,以此类推

技术分享图片


打印匹配行到最后一行

技术分享图片


awk-01-选项和模式

原文:https://www.cnblogs.com/lichengguo/p/15137769.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!