awk详解
awk 命令 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本:awk、nawk、gawk,未作特别说明,一般指gawk,gawk是awk的gnu版本。 awk其名称得自它的创始人Alfred Aho、Peter Weinberger、Brian Kernighan姓氏的首个字母。实际上awk的确拥有自己的语言:awk程序设计语言,三维创建者已将它正式定义为"样式扫描和处理语言"。它允许你创建简单的程序,这些程序读取输入文件、为数据排序、处理数据、对输入进行计算并生成报表,还有无数其他的功能。 使用方法: awk '{pattern + action}' {filename} 尽管操作可能会很复杂,但语法总是这样的,其中pattern表示awk在数据中查找的内容,而action是在找到匹配内容时执行的一系列命令。花括号({})不需要再程序中始终出现,但他们用于根据特定的模式对一系列指令进行分组。pattern就是要表示的正则表达式,用斜杠括起来。 awk语言最基本的功能室在文件或者字符串中基于指定规则浏览或抽取信息,awk抽取信息后,才能进行其他文本操作。完整的awk脚本通常用来格式化文本文件中的信息。通常,awk是以文件的一行为处理单位的。awk每接收文件一行,然后执行相应的命令,来处理文本。 调用方法: 有三种方式调用awk: 1、命令行方式: awk [-F field-separator] 'commands' input-file 2、shell脚本方式 将所有的awk命令插入一个文件,并使awk程序可执行,然后awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用。 相当于shell脚本的首行:#!/bin/sh 换成 #!/bin/awk 3、将所有的awk命令插入一个单独文件,然后调用 awk -f awk-script-file input-file 其中,-f选项加载awk-script-file中的awk脚本
参考:
http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html