Awk 笔记-1

上一篇 / 下一篇  2013-03-22 15:59:21 / 个人分类:Linux

AWK 是三位创始人名字开头字母的组合。 Awk 是对文件内容的进行处理的一个轻巧的语言,一个程序,往往只有很少几行,甚至一行。
1.Awk 程序的结构
 pattern { action }

awk 的基本功能是顺序扫描输入的每一行,搜索符合pattern 的行, 然后根据 action 做具体的操作。
例如: $3==0 { print $1 } #注意:大括号和 action 内容要用空格隔开。
上面这个简单的语句, 会搜索文件中每一行的第三个域的内容,如果等于零, 则输出这一行的第一个域。


2. 运行AWK程序
Awk 程序有几种运行方式:
a.可以以下面的方式在命令行中运行:
awk `program` input files
多个文件的话,用空格隔开即可,如 awk `$3==0 { print $3 }` file1 file2
b.也可以省略input files, 从命令行中直接输入,awk `program`
然后你输入的文本会依次应用program, 至到你输入结束信号(Linux 下面是control-d )
c. 也可以把要awk 程序写到单独的文件中,尤其在程序代码比较长的情况下,这种方法更方便一些,这个文件叫progfile, 然后你可以在命令行中运行,
awk -f progfile optional list of input files

如emp.data 
的内容如下:
Beth 4.00 0
Dan 3.75 0
Kathy 4.00 10
Mark 5.00 20
Mary 5.50 22
Susie 4.25 18
在linux 下运行
$ awk '$3 == 0 { print $1 }' emp.data 输出
Beth
Dan




TAG:

 

评分:0

我来说两句

Open Toolbar