Shell脚本之awk

目录

一、AWK工作原理

二、AWK常见内置变量

三、AWK基础用法

 四、awk查找模式

 五、awk条件判断

 六、awk里的for

 七、awk数组

八、awk 案例


一、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的用户全部被删除了】 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值