AWK主要功能:取行,取列,数据统计
基本格式:
awk -F '分割字符' '{print $1}' 文件名
awk逻辑原理图: awk-----------------BEGIN模块里的内容(BEGIN '{print $1}') |
读取文本第一行(按行读取) ———— 满足则输出结果 |
---|
不满足则下一行继续读直到读完整个文本内容
awk -F '分割字符' '{print $0}' 文件名 表示显示全面列信息
$0 表示一个标量,意为所有
awk也可以用来查找
awk '/字符/' 文件名
匹配加处理动作
awk同样也支持正则
NF和NR的区别 (NF存储的是列数,NR存储的是行数)
awk -F':' '$1~/^root/' /etc/passwd ~表示匹配
awk -F':' '$NF~/bash$/' /etc/passwd
$NF 取值最后一列的指
awk中比较大小,等于的运算符的用法
例:统计普通用户当前有多少个?
统计磁盘分区使用情况?
df |awk NR==2 |awk '$3<1000000{print $4}' 统计第二行中第三列(已使用used)大于1000000的话就输出它的第四列(剩余可用available)
df |awk '/\/$/' |awk '$3>1000000{print $4}' 匹配以/结尾的信息中第三列(已使用used)大于1000000的话就输出它的第四列(剩余可用available)
awk过滤ip地址
awk批量创建用户,使用动态密码并保存