awk 用法

假设我们有这样一个待处理的文件 grade.txt,内容如下:

M.Tansley 05/99 48311 Green   8  40 44
J.Lulu    06/99 48317 green   9  24 26
P.Bunny   02/99 48    Yellow  12 35 28
J.Troll   07/99 4842  Brown-3 12 26 26
L.Tansley 05/99 4712  Brown-2 12 30 28

1:打印整个文件

awk '{print $0}' grade.txt

2:打印第一和第四个

awk '{print $1,$4}' grade.txt

3:打印表头 Name Belt,然后显示文档第一列和第四列

awk 'BEGIN {print "Name Belt\n---------------------------"}    {print $1"\t"$4}' grade.txt

4:打印第四列包含 Brown 的行

awk '$4~/Brown/ {print $0}' grade.txt

5:打印第三列包含 48 的行

awk '$3 ~/48/ {print $0}' grade.txt

6:显示第三列是 48 的

awk '$3=="48" {print $0}' grade.txt

7:显示不包含 Brown 的行

awk '$0 !~ /Brown/' grade.txt

8:打印第四列不是 Brown-2 的行

awk '$4 != "Brown-2" {print $0}' grade.txt

9:当第六列大于第七列是,显示:$6 大于 $7

awk '$6 < $7 {print $6,"大于",$7}' grade.txt

10:当第一列的第三个字符是 a 时,显示该行

awk '$1 ~/^..a/' grade.txt

11:显示包含 Yellow 或 Brown 的行

awk '$0 ~/(Yellow|Brown)/' grade.txt

12:显示文档第一列、第六列、第七列,如果第一列是 M.Tansley,则 先将其第六列的值减 1 后再输出

awk '{if($1=="M.Tansley") $6=$6-1; print $1,$6,$7}' grade.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值