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  HOURSBeth 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  HOURSBeth 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

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

  1. 对一千万条数据进行排序---编程珠玑第二版 第一章

    本书第一章提出了一个看似简单的问题,有最多1000万条不同的整型数据存在于硬盘的文件中,如何在1M内存的情况下对其进行尽可能快的排序. 每个数字用4byte,1M即可存储250 000个数据,显然,只 ...

  2. 编程珠玑第二版 ---- 第一章个人习题集(Java)

    第一题:如果不缺内存,如何使用一个具有库的语言来实现一种排序算法? 直接使用Collections.sort(list)排序 第二题:如何使用位逻辑运算来实现位向量? package com.xck. ...

  3. 看完编程珠玑的一些感想

    终于看完Jon Bentley先生著作的<编程珠玑·第二版>了,当然,我看的是中文版,英文水平哪有那么好啊... 这是一本不可多得的好书,具体好在哪里,我也不太能说清楚.应该算是思路上给我 ...

  4. 《编程珠玑(续)(修订版)》—第2章2.1节Awk中的关联数组

    本节书摘来自异步社区<编程珠玑(续)(修订版)>一书中的第2章,第2.1节Awk中的关联数组,作者[美]Jon Bentley,更多章节内容可以访问云栖社区"异步社区" ...

  5. 《编程珠玑(第2版•修订版)》—第2章2.8节变位词程序的实现(边栏)

    本节书摘来自异步社区<编程珠玑(第2版•修订版)>一书中的第2章2.8节变位词程序的实现(边栏),作者[美]Jon Bentley,更多章节内容可以访问云栖社区"异步社区&quo ...

  6. 《编程珠玑(第2版•修订版)》—第2章2.5节原理

    本节书摘来自异步社区<编程珠玑(第2版•修订版)>一书中的第2章2.5节原理,作者[美]Jon Bentley,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2 ...

  7. 《编程珠玑(第2版•修订版)》—第2章2.2节无处不在的二分搜索

    本节书摘来自异步社区<编程珠玑(第2版•修订版)>一书中的第2章2.2节无处不在的二分搜索,作者[美]Jon Bentley,更多章节内容可以访问云栖社区"异步社区"公 ...

  8. 查找一段文字中最长的重复字串 – 编程珠玑(排过序的后缀数组的应用)

    转自:https://www.cse.msu.edu/~liyang5/?p=53 <编程珠玑>在第15章"珍珠字符串"一节,给出了一个非常漂亮的实现 – 基于目标字符 ...

  9. 打开高效文本编辑之门_Linux awk之关联数组

    Linux awk之关联数组使用案例 声明与简介 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具.awk通常用来处理结构化(固定格式)的文本文件, awk每接收文件的一行,然后执行相应的命 ...

  10. 《编程珠玑》高清pdf版

    下载地址:网盘下载 作者简介 编辑 Jon Bentley是位于新泽西州Murray Hill的朗讯贝尔实验室计算机科学研究中心的技术委员会委员,Jon自1998年就成为Dr. Dobb's Joum ...

最新文章

  1. fedora mysql默认密码忘记_Linux fedora 24 忘记密码图形化界面修改root密码的方法
  2. 2D秒变3D!视角还能随意切!华为上交提出:CIPS-3D:基于GAN的3D感知生成器
  3. WPF INotifyPropertyChanged 通过特性减少代码量
  4. XML PUBLISHER输出excel禁止自动将数字格式化处理
  5. Python数据可视化2.6 一些最好的可视化实践
  6. .难忘的大学时光·~~~~~
  7. Python 自动化-pywinauto库定位树结构控件里的树节点实例演示
  8. 电脑的基础知识_电脑入门基础知识
  9. opencv 获取一个目录下子目录_OpenCV系列 --- OpenCV4.01配置VS2015
  10. 发一个sgs0.9.9的例子
  11. 第六篇:如何学习C语言?
  12. 二分查找:在有序数组中搜索大于等于x的数的最小下标
  13. 如何安装新的PHP扩展模块
  14. 云小课 | 华为云KYON之VPC终端节点
  15. CSS属性之position
  16. 从本科到研究生,看大疆工程师给你定制的机器人学习计划
  17. 用电脑计算器计算以2为底的对数
  18. CocosCreator矢量绘图组件(1)
  19. shell编程阶段性总结+几个shell脚本实例
  20. 完全不懂SEO怎样入手做网站优化

热门文章

  1. 计算矩阵的逆源码(使用伴随矩阵,3×3的矩阵)
  2. 数据结构实验一:顺序表的实现及应用
  3. 交叉编译工具链下载地址
  4. 一篇文章带你用Python网络爬虫实现网易云音乐歌词抓取
  5. vue在线预览word踩坑日记
  6. 下载网页中镶嵌的PDF文件
  7. Zemax操作29--衍射光栅(下)
  8. 《神经网络与深度学习》 邱锡鹏 第二章课后习题答案
  9. Hive实现笛卡尔积
  10. 趣学python教孩子学编程pdf免费下载_《趣学Python——教孩子学编程》——导读-阿里云开发者社区...