编程珠玑续版-chp2 关联数组-awk

2 编写awk程序

Awk是一种便于使用且表达能力强的程序设计语言,可应用于各种计算和数据处理任务;一般用于处理数据。

awk的命令格式为:awk 模式-动作对的形式

awk 'pattern {action}' # awk 模式 动作
# 例如
awk 'if length($1) > 3 {print $1}' # 如果第一个变量长度大于3,则打印

2.1 文本实例数据

创建文本数据emp.txt 文件

Beth 4.00 0
Dan 3.75 0
Kathy 4.00 10
Mark 5.00 20
Mary 5.50 22
Susie 4.25 18

2.2 编写可运行程序

方法一:bash交互式

直接在命令行运行程序

awk '$3 >0 { print $1, $2 * $3 }' emp.txt

方法二:以awk脚本形式运行

1)编写test.awk 文件

# 1. 编写test.awk文件。
BEGIN {print "Name  RATE  HOURS"; print ""}
{print}


2 )运行awk脚本文件
```shell
awk -f test.awk  emp.txt  # awk -f awk脚本文件  文本文件

3)结果如下

#  结果如下:打印所有行数据之前,加上 标题
Name  RATE  HOURS

Beth 4.00 0
Dan 3.75 0
Kathy 4.00 10
Mark 5.00 20
Mary 5.50 22
Susie 4.25 18

方法三:以shell脚本形式运行1)编写test.awk 文件

1) 编写test.awk文件
需要在文件头添加 #!/bin/awk -f

#!/bin/awk -f
BEGIN {print "Name  RATE  HOURS"; print ""}
{print}

2 )运行shell脚本文件

chmod u+x test.awk
./test.awk  emp.txt  # 脚本文件  文本文件

3)结果如下

#  结果如下:打印所有行数据之前,加上 标题
Name  RATE  HOURS

Beth 4.00 0
Dan 3.75 0
Kathy 4.00 10
Mark 5.00 20
Mary 5.50 22
Susie 4.25 18

参考文件

awk语言学习指南

https://awk.readthedocs.io/en/latest/chapter-one.html

awk运行方法

https://blog.csdn.net/fengyuanye/article/details/82858863

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值