1,AWK主要功能:取行,取列,数据统计
基本格式:
awk -F '分割字符' '{print $1}' 文件名

2,awk逻辑原理图:
awk-----------------BEGIN模块里的内容(BEGIN '{print $1}')

读取文本第一行(按行读取) ———— 满足则输出结果
    不满足则下一行继续读直到读完整个文本内容                    

awk -F '分割字符' '{print $0}' 文件名 表示显示全面列信息
$0 表示一个标量,意为所有

awk也可以用来查找
awk '/字符/' 文件名

3,匹配加处理动作
6,LINXU三剑客AWK_第1张图片
6,LINXU三剑客AWK_第2张图片

awk同样也支持正则
6,LINXU三剑客AWK
6,LINXU三剑客AWK

NF和NR的区别 (NF存储的是列数,NR存储的是行数)

awk -F':' '$1~/^root/' /etc/passwd ~表示匹配
awk -F':' '$NF~/bash$/' /etc/passwd
6,LINXU三剑客AWK_第3张图片
6,LINXU三剑客AWK_第4张图片
6,LINXU三剑客AWK_第5张图片

$NF 取值最后一列的指
6,LINXU三剑客AWK_第6张图片

awk中比较大小,等于的运算符的用法
4,例:统计普通用户当前有多少个?
6,LINXU三剑客AWK_第7张图片
6,LINXU三剑客AWK_第8张图片
6,LINXU三剑客AWK_第9张图片

统计磁盘分区使用情况?
df |awk NR==2 |awk '$3<1000000{print $4}' 统计第二行中第三列(已使用used)大于1000000的话就输出它的第四列(剩余可用available)
df |awk '/\/$/' |awk '$3>1000000{print $4}' 匹配以/结尾的信息中第三列(已使用used)大于1000000的话就输出它的第四列(剩余可用available)
6,LINXU三剑客AWK_第10张图片

5,awk过滤ip地址
6,LINXU三剑客AWK_第11张图片

6,awk批量创建用户,使用动态密码并保存
6,LINXU三剑客AWK_第12张图片