awk的基本用法

1 篇文章 0 订阅

awk:报告生成器
使用方法

-F指定分隔符
'BEGIN{}{}END{}'
NR表示行数目
NF表示列数目
FILENAME表示文件名
'/bash/{}'
'NR==3||NR==4{}'
'NR>=3&&NR<=6{}'

{} --> 在该括号中输入可执行命令,多条命令以";"分隔

打印文件passwd的全部内容 ($0代表取一整行)

awk '{print$0}' passwd   

在这里插入图片描述
打印文件的以":"为分隔符的所有行的第一列

awk -F ':' '{print$1}' passwd

在这里插入图片描述
打印文件的以":"为分隔符的第三行和第五行的第一列

awk  -F ':' 'NR==3||NR==5{print$1}' passwd

在这里插入图片描述
打印文件的以":"为分隔符的第三行和第五行的第一列,同时在结尾打印文件名

awk  -F ':' 'NR==3||NR==5{print$1}END{print FILENAME}' passwd

在这里插入图片描述
打印文件的以":"为分隔符的第三行至第五行的最后一列

awk  -F ':' 'NR>=3&&NR<=5{print$NF}' /root/passwd

在这里插入图片描述
打印以bash结尾的所有行

awk  -F ':' '/bash$/{print$0}' /root/passwd

在这里插入图片描述
利用awk统计/sbin/nologin的所有行数

awk -F ':' 'BEGIN{n=0}/nologin/{n++}END{print n}' /root/passwd

在这里插入图片描述

'^[^a-d]{}'
'^r|bash${}'
'/^r/||/bash$/{}'
'/^r/&&/bash$/{}'
'$6~/bin$/{}'
'$6!~/bin$/{}'

打印文件中不是以b-z开头的行内容

awk -F ':' '/^[^b-z]/{print}' /root/passwd

在这里插入图片描述
打印文件中以b开头或者以bash结尾的行

awk '/bash$|^b/' /root/passwd

在这里插入图片描述
打印以s开头且以bash结尾的行

awk '/bash$/&&/^s/' /root/passwd

在这里插入图片描述
打印第七列是以bash结尾且以s开头的行

awk -F ':' '$7~/bash$/&&/^s/{print$0}' /root/passwd

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值