shell脚本编辑6:awk过滤
awk数据过滤,统计(行,列):逐行处理器
awk内植变量
$1,$2,$3..... 第n列
NF 当前行有多少列
NR 当前行号
awk打印常量(“常量必须要使用引号”打印多个以逗号隔开)
格式:
Awk 选项 ‘BEGIN{} 条件{} END{}‘ 文件
原则所有的指令必须放在 {}中
BEGIN{} 指令在读取内容前执行1次
条件{} 指令在读取文件中执行n次
END{} 指令在读取文件后执行1次
简式(3个指令必须有一个)
1:awk 选项 ‘条件{指令}’文件
2:命令 | awk 选项 ‘条件{指令}’
默认指令为打印
默认条件匹配所有
print打印($1$2........)
选项:
-F指定分割符
条件:
1:/正则/ (模糊匹配)
2:数字和字符的比较 (精确匹配)
3:支持逻辑&&且 ||或
4:运算(当计算器运算)(加减乘除不定义数值默认为0)
5:支持分支结构循环结构
(if指令)
if (){}
if (){}else{}
if(){}else if (){}..
例:/etc/passwd下有多少普通用户有多少系统用户进行统计
awk -F: '{if ($3>=1000){x++}else{y++}} END{print "普通用户:"x, "系统用户:"y}' /etc/passwd
while(){}循环:
词频
root hehe root
xixi root
ni hao ma root
awk '{i=1;while(i
页:
[1]