awk: 报告生成工具shell
把文件中读取到的每一行的每一个字段分别进行格式化,然后进行显示;express
awk --> new awk --> nawk工具
GNU awk, --> gawkspa
用法格式:3d
awk [option] 'script' FILE ...code
awk [option] '/pattern/{action}' FILE ...blog
action: print $1ip
模式:io
地址界定: /pat1/,/pat2/class
/pattern/ 还能够在界定模式上面加 ! 取反 --> !/pattern/
expression: 表达式
> :大于
>=:大于等于
< : 小于
<= :小于等于
== :等于
!= :不等于
~ : 模式匹配
打印id号大于等于500 的用户
awk -F : '$3>=500{print $1}' /etc/passwd
BEGIN: 执行前的准备工做
END: 执行后的收尾工做
awk的内置变量
NF: 字段数,在执行打印时,将打印最后一个字段内容
FS :读入行时,使用的字段分隔符,默认为空白。下面是变量赋值指定分隔符为 : ,要加引号。
OFS: 输出时使用字段分隔符,默认为空白,下面指定为 * 做为输出分隔符:
练习:
1)显示GID小于500的组
2)显示默认shell为nologin的用户
3)显示eth0网卡文件的配置信息,注意,只显示等号后面的值
4)显示/etc/sysctl.conf文件中定义的内核参数,只显示名称
5)显示eth0网卡的ip地址,经过ifconfig的命令结果进行过滤
awk 高级部分待续