awk脚本

摘要:
AwkAWK是一种处理文本文件的语言。AWK程序由处理特定模式的语句块组成。AWK可以一次读取一个输入行。对于每个输入行,AWK解释器将判断它是否符合程序中的各种模式,并执行相应模式的相应动作——Alfred Aho,the A-ZofProgrammingLanguages:AWK一句话:AWK最重要的应用是文本处理测试文本等级。txt nameids exagescorea1boy1180b2girl1089c3boy1090d4girl991awk程序1.打印helloworld。a、 创建hello awk#!/Usr/bin/awk fBEGIN{printf“startprocess”}END{printf“total:”total}BashawkAwk“patten{action}”file command打印得分大于89 awk“$5˃89{printf$0}”的人。/grade.txt
awk
AWK是一种处理文本文件的语言。它将文件作为记录序列处理。在一般情况下,文件内容的每行都是一个记录。每行内容都会被分割成一系列的域,因此,我们可以认为一行的第一个词为第一个域,第二个词为第二个,以此类推。AWK程序是由一些处理特定模式的语句块构成的。AWK一次可以读取一个输入行。对每个输入行,AWK解释器会判断它是否符合程序中出现的各个模式,并执行符合的模式所对应的动作。
——阿尔佛雷德·艾侯,The A-Z of Programming Languages: AWK
 
一句话:awk最重要的应用便是文本处理
测试文本
grade.txt

name id sex age score

a 1 boy 11 80

b 2 girl   10 89

c 3 boy 10 90

d 4 girl 9 91

awk程序

 1.打印hello world.

a.创建hello.awk

#!/usr/bin/awk -f

BEGIN { print "hello world!"}

b.修改执行权限:chmod 777 hello.awk

c. 运行:./hello.awk

2.处理grade.txt文本

#!/usr/bin/awk -f

BEGIN {printf "start process"}

(total += $5)

END {printf "total:" total}

Bash awk

Awk ‘patten {action}’ file

命令打印分数大于89的人

awk '$5 > 89 { printf $0}' ./grade.txt

免责声明:文章转载自《awk脚本》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇map结构转为object结构iOS开发拓展篇—CoreLocation地理编码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

(转载)lua和c/c++互相调用实例分析

http://www.cppblog.com/lxyfirst/archive/2008/10/29/65447.html lua作为小巧精悍的脚本语言,易于嵌入c/c++中 , 广泛应用于游戏AI ,实际上在任何经常变化的逻辑上都可以使用lua实现,配合c/c++实现的底层接口服务,能够大大降低系统的维护成本。下面对lua和c/c++的交互调用做一个实...

Android JNI和NDK学习(08)JNI实例一 传递基本类型数据

Android JNI和NDK学习(08)--JNI实例一 传递基本类型数据 本文介绍在Java和JNI之间相互传递基本数据类型的方法。 由于前面已经详细介绍搭建和建立NDK工程的完整流程(参考“静态实现流程”或“动态实现流程”),这里就不再介绍流程;而是将重点放在说明如何实现Java和JNI之间相互传递基本数据。 1 建立eclipse工程 建立工程Nd...

Matlab画图中图的方法

大家画图时可能会发现,有些地方太小了,看不清楚!但是这个小的部分,恰恰是我们需要强调的地方!怎么办?如何放大!其实matlab中的magnify函数可以解决我们这个问题。 第一步首先百度文库:magnify matlab源程序;找到对应的代码。   找到代码之后,我们将里面的源程序代码,复制到matlab新建的m文件。注意文件名为:magnif...

Kotlin Vertx

Kotlin & VertxKotlin 是一门好语言,值得大家了解一下。 Vertx 是一个好框架,也值得大家了解一下。 Kotlin 写过js,也写过一点点go,主力一直是java。用了kotlin,貌似找到了常用语言的平衡点了。 Kotlin 拥有一些偏函数式的语法(java8 也引入了一些),提供了相当多便捷的api与一些高阶函数。从两天的...

matlab矢量场数值可视化(动态数值模拟)

https://blog.csdn.net/eric_e/article/details/81294092 D3.js实现数据可视化 三维可视化 风场可视化(数据插值):风场是动态变化的,实时刷新的,数据实时动态性较高 windy:https://download.csdn.net/download/weixin_38690337/10724155http...

sass学习笔记-安装

Sass安装(windows版) 在 Windows 平台下安装 Ruby 需要先有 Ruby 安装包,大家可以到 Ruby 的官网(http://rubyinstaller.org/downloads)下载对应需要的 Ruby 版本。 Ruby 安装文件下载好后,可以按应用软件安装步骤进行安装 Ruby。在安装过程中,个人建议将其安装在 C 盘下,在安...