shell脚本编程(七)awk命令一

awk是一个文本工具,通常用于处理数据并生成结果报告

第一种形式:

awk “BEGIN{}pattern{commands}END{}” file_name

或者

standard output | awk ‘BEGIN{} pattern{commands}END{}’

语法格式:

内置变量对照表

$0获取整行

举一个简单例子、获取nginx的master进程id、默认以空格做分隔符

FS Field Separator 字段分隔符,不指定时默认以空格或tab键分隔

不指定分隔符、默认是以空格或tab、注意要用但引号

指定分隔符

NF Number Field 处理行的字段个数

NR Number row 处理行的行号

FNR File Number Row 多文件处理时,每个文件单独记录行号

RS ROW Separator 输入行分隔符。默认回车换行

ORS 输出行分隔符。默认为回车换行

OFS 输出字段分隔符。默认为空格

FILENAME 文件名

ARGC 命令行参数个数

awk格式化输出之printf

printf命令的输出,和print不一样。print默认是带格式的。printf则需要自己指定美化字符串。

格式符

修饰符

printf和print的对比

printf模拟print的输出结果

%20s 强制站位20个字符的位置;

使用左对齐的方式

例子

AWK的模式匹配

第一种、模式匹配:RegExp

按正则表达式匹配

第二种、按关系运算匹配

例子

布尔运算符匹配

发表评论