目录
一、AWK工作原理
-
逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。
-
awk倾向于将一行分成多个"字段"然后再进行处理。
-
awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。
-
使用awk命令的过程中,可以使用逻辑操作符"&&"表示"与"、"|"表示"或"、"!"表示"非",还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。
二、AWK常见内置变量
| FS | 指定每行文本的字段分隔符,缺省为空格或制表符(tab)。 |
| OFS | 输出时的分隔符 |
| NF | 当前处理的行的字段个数 |
| NR | 当前处理的行的行号(序数) |
| $0 | 当前处理的行的整行内容 |
| $n | 当前处理行的第n个字段(第n列) |
| FILENAME | 被处理的文件名 |
| RS | 行分隔符。 |
三、AWK基础用法
基本输出

查看文本奇数行内容

按要求查找内容
![]()

BEGIN

四、awk查找模式
awk '模式{处理动作}'
模式:
比较操作符:==, !=, >, >=, <, <=
逻辑操作符:与:&&,并且关系;或:||,或者关系;非:!,取反
选项:-F 指定分隔符;-v 自定义变量;-f 脚本


五、awk条件判断
if语句:awk的if语句也分为单分支、双分支和多分支
单分支为if(){}
双分支为if(){}else{}
多分支为if(){}else if(){}else{}


六、awk里的for
awk里的for是循环
for(expr1;expr2;expr3) {statement;…}
【expr1是初始条件,expr2是跳出循环条件,expr3是处理动作】

七、awk数组
遍历数组

八、awk 案例
要求:删除 用户文件下uid大于100的普通用户

【脚本内容】

【查看原本有用户id大于1000】

【执行脚本】
【再看用户信息里大于1000的用户全部被删除了】
1342

被折叠的 条评论
为什么被折叠?



