0,简介
Linux awk
是一个实用的文本处理工具
,它不仅是一款工具软件,也是一门编程语言
。awk
的名称来源于其三位作者的姓氏缩写,其作者分别是Alfred Aho
,Peter Weinberger
和 Brian Kernighan
。
如果你在linux 系统中追踪awk
,可以看到其最终指向的是/usr/bin/gawk
,也就是gawk
命令。其GNU官方手册 权威且全面,但对于初学者并不是很友好,因为内容非常多,你可能不知从何看起。对于普通用户,一般也用不到非常复杂的功能。
如果一个文件由规则的多个列
组成,则非常适合使用awk
来处理。本文介绍awk
常用方法,对于普通使用者应该是足够了。
1,基本概念
awk
命令会对文本文件
的每一行
进行处理,其语法格式如下:
awk `参数` `pattern {action}` `filename`
pattern
是要匹配的规则,action
是要执行的动作,只有匹配了pattern
的行
,才会执行动作action
。
这句命令的含义是:对于文件filename
的每一行,如果能够符合条件pattern
,则执行动作action
。如果不写pattern
,则表示对于文件filename
的每一行,都进行action
处理。
1.1,参数
awk
最常使用的参数是-F
,其后跟一个分隔符
或者正则表达式
,其表示的意思是以怎样的规则
对每一行进行分割。 默认是空格
或Tab键
。
1.2,pattern
pattern
可以是下表中的任意一项:
1.3,action
action
由awk
语句组成,比如print
,用于输出。