Shell三剑客之awk

目录

一、awk工具

1、awk工作原理

2、awk命令格式

3、awk内建变量

4、awk命令的用法

总结


一、awk工具

       在 Linux/UNIX 系统中,awk 是一个功能强大的编辑工具,逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理,可以在无交互的情况下实现相当复杂的文本操作,被广泛应用于 Shell 脚本,完成各种自动化配置任务。

1、awk工作原理

       当读到第一行时,匹配条件,然后执行指定动作,再接着读取第二行数据处理,不会默认输出
如果没有定义匹配条件默认时匹配所有数据行,awk隐含循环,条件匹配多少次就会执行多少次
逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。

2、awk命令格式

awk  选项  '模式或条件{编辑指令}'  文件1文件2.... //过滤并输出文件符条件的内容

awk  -f  脚本文件  文件1  文件2.... //从脚本中调用编辑指令,过滤并输出内容  

3、awk内建变量

awk包含几个特殊的内建变量(可直接用)

FS:             指定每行文本的字段分隔符,默认为空格或制表位
OFS:          输出字段的分隔符
RS:             输出行分隔符
ORS:          输出行的分隔符,默认为换行符
NF:             当前处理的行的字段个数
NR:             当前处理的行的行号(序数)
$0:              当前处理的行的整行内容
$n:              当前处理行的第n个字段(第n列)
FILENAME:被处理的文件名

4、awk命令的用法

①awk  '{print}'  passwd.txt       //输出所有内容,{print}与{print $0}等同

② awk  'NR==1,NR==3{print}'  passwd.txt         //输出1-3行的内容

③ awk  '/^root/{print}'  passwd.txt          //输出以root开头的行

④ cat  -n  passwd.txt  |awk  '(NR%2==1){print}'          //输出文件的奇数行

⑤cat  -n  passwd.txt  |awk  '(NR%2==0){print}'         //输出文件偶数行

⑥ cat  passwd.txt  |awk -F:  '{print  $1}'           //指定:为分隔符,打印第一列

总结

awk指定分隔符:-F

                            [   %]

-v 定义变量

awk  -F  '{print $1}'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉吉吉吉吉吉吉吉吉吉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值