Empenguin  

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

 

posted on 2013-05-22 16:45  Empenguin  阅读(177)  评论(0编辑  收藏  举报