linux 三剑客 awk 1

参考C语言中文网Linux教程 AWK


前言

主要是作为练习的记录,这里使用的是C语言中文网中的内容(详情在参考1)

和sed 命令类似,awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。

 awk [选项] '脚本命令' 文件名

选项

选项内容如下
在这里插入图片描述

匹配规则

'匹配规则{执行命令}'

由于我这边不会使用正则表达式,所以部分内容看不懂

 awk '/^$/ {print "Blank line"}' test.txt

awk 使用数据字段变量

awk 操作文件过程中,每行根据分隔符(默认是空格或者制表符),将每行文件内容进行数据元素划分;
$0: 表示当前整行的内容
$1: 变量表示当前第一个数据元素的内容
$2: 变量表示当前第二个数据元素的内容

$n 代表文本行中的第 n 个数据字段
在这里插入图片描述

awk 脚本命令使用多个命令

两种方式:

方式1

在{}命令结束后,添加’;’ 即可进行下一条命令
在这里插入图片描述

方式2

'{ 后回车,
在这里插入图片描述

awk从文件中读取程序(执行命令由手工变成从awk.sh脚本文件中读取)

由于/etc/passwd文件的特殊性,需要重新制定分隔符 -F:
使用了awk脚本文件所以用-f
在这里插入图片描述

awk BEGIN关键字

这个BEGIN关键字,可以使得awk增加一个脚本命令字段
这个字段在awk处理文件流式数据之前运行
在这里插入图片描述

awk END关键字

这个END关键字,可以使得awk增加一个脚本命令字段
这个字段在awk处理文件流式数据完成之后运行
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刀法孜然

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

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

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

打赏作者

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

抵扣说明:

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

余额充值