Unix awk手册
Unix和Linux 的AWK详细介绍

《AWK详细介绍》1:调用awk的三种方式如下:1.1 命令行方式:awk [-F filed-separator] 'commands' input-files-F 指定分隔符(默认是空格或tab)commands awk的命令input-files 要处理的文件1.2 将所有awk命令插入一个文件,并使awk程序可执行,然后用awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用它1.3 将所有的awk命令插入一个单独文件,然后调用:awk -f awk-script-file input-files-f 指明调用脚本名input-files 待处理的文件2: awk脚本的介绍在命令中调用awk时,awk脚本由各种操作和模式组成。
awk每次读一条记录或一行,并使用指定的分隔符分隔指定域。
当新行出现时,awk命令获悉已读完整条记录,然后在下一个记录启动读命令,这个读进程将持续到文件尾或文件不再存在。
2.1 模式和动作任何awk语句都由模式和动作组成。
模式部分决定动作语句何时触发及触发条件。
处理即对数据进行的操作。
如果省略模式部分,动作将时刻保持执行状态。
模式可以是任何条件语句、复合语句或正则表达式,包括两个特殊字段BEGIN和END。
使用BEGIN语句设置计数和打印头。
BEGIN语句用在任何文本浏览动作之前,之后文本浏览动作依据输入文件开始执行。
END语句用在awk完成文本浏览动作后打印输出文本总数和结尾状态标志。
如果不特别指明模式,awk总是匹配。
实际动作在大括号{}内指明。
动作大多数用来打印,但还有些更长的代码诸如if和循环语句及循环退出结构。
如果不指明采取动作,awk将打印出所有浏览出来的记录。
2.2 域和记录awk执行时,其浏览域标记为$1,$2…$n,这种方法称为域标识。
当需要指定多域时使用逗号,用于分隔,如$1,$3指定第一域和第三域,如果希望指定所有域可使用$0。
awk使用大全

awk使用大全内容提要: awk是AIX和UNIX上的最强大的文字匹配搜索工具。
本文详细介绍awk的适用方法。
awk 命令的输入awk 命令的输出通过记录和字段的文件处理awk 命令编程语言:模式操作变量特殊变量标志示例说明:在文件中查找与模式匹配的行,然后在它们上面执行特定的操作。
语法awk [ -F Ere ] [ -v Assignment ] ... { -f ProgramFile | ' Program ' } [ [ File ... | Assignment ... ] ] ...描述awk 命令利用一组用户提供的指令来将一组文件和用户提供的扩展正则表达式比较,一次一行。
然后在任何与扩展正则表达式匹配的行上执行操作。
awk 处理的最大记录大小为10KB。
awk 命令的模式搜索比grep 命令的搜索更常用,且它允许用户在输入文本行上执行多个操作。
awk 命令编程语言不需要编译,并允许用户使用变量、数字函数、字符串函数和逻辑运算符。
awk 命令受到LANG 、LC_ALL 、LC_COLLATE 、LC_CTYPE 、LC_MESSAGES 、LC_NUMERIC 、NLSPATH 和PATH 环境变量的影响。
awk 命令的输入awk 命令采取两种类型的输入:输入文本文件和程序指令。
输入文本文件搜索和操作在输入文本文件上执行。
文件如下指定:在命令行指定File 变量。
修改特殊变量ARGV 和ARGC 。
在未提供File 变量的情况下提供标准输入。
如果用File 变量指定多个文件,则文件以指定的顺序处理。
程序指令用户提供的指令控制awk 命令的操作。
这些指令来自命令行的‘Program ’变量或来自用-f 标志和ProgramFile 变量一起指定的文件。
如果指定多个程序文件,这些文件以指定的顺序串联,且使用指令的生成的顺序。
awk 命令的输出awk 命令从输入文本文件中的数据产生三种类型的输出:·选定的数据可以打印至标准输出,此输出完全同于输入文件。
awk+手册中文版

awk+手册中文版Awk+手册中文版1、简介Awk是一种强大的文本处理工具,它可以进行数据提取和报表。
Awk的基本思想是将输入数据拆分为记录并逐行处理。
本章将介绍Awk的概述、发展历史和主要特点。
2、安装和配置本章将介绍如何安装Awk以及配置相关环境变量。
还将介绍一些常见的问题和解决方法。
3、Awk语法本章将详细介绍Awk的基本语法,包括模式匹配、变量使用、运算符、控制结构、函数等。
通过本章的学习,读者将掌握编写Awk脚本的基本技巧。
4、Awk模式本章将介绍Awk的模式匹配方法,包括正则表达式、关系运算符、逻辑运算符等。
通过本章的学习,读者将了解如何在Awk中进行高级模式匹配。
5、Awk内置函数本章将介绍Awk内置的各种函数,包括字符串处理函数、数学函数、时间函数等。
通过本章的学习,读者将了解如何在Awk中利用内置函数进行快速数据处理。
6、Awk高级技巧本章将介绍一些Awk的高级技巧,包括数组的使用、多文件处理、系统调用等。
通过本章的学习,读者将了解如何在复杂的数据处理场景中发挥Awk的威力。
7、Awk实例应用本章将提供一些实际应用的例子,包括文件处理、日志分析、数据提取等。
通过本章的学习,读者将了解如何灵活运用Awk解决实际问题。
8、Awk调试与优化本章将介绍一些调试和优化Awk脚本的方法,包括调试输出、性能优化等。
通过本章的学习,读者将提高Awk脚本的效率和可靠性。
9、Awk常见问题解答本章将总结一些Awk常见问题,并提供相应的解答。
通过本章的学习,读者将解决在使用Awk过程中遇到的一些困惑。
10、附录:Awk语法速查表本附录提供了一个Awk语法速查表,方便读者在实际使用中快速查找语法相关内容。
附件:本文档涉及的附件包括一些示例代码、测试文件等,以帮助读者更好地理解和学习Awk的应用。
法律名词及注释:1、Awk:一种文本处理工具,根据指定的规则对文本进行分析和处理。
2、模式匹配:根据特定的模式对文本进行匹配,以进行相应的处理。
linux常用命令awk的用法

linux常用命令awk的用法Linux令awk是一种强大、自动化的文本处理程序,可以用来查找和处理文本或数据文件中的信息,也可以用来进行数据分析和操作。
由Bell Laboratories开发的awk命令,是UNIX工作站系统的一部分,现在也可以安装在Linux系统中。
awk命令使用文本处理程序中最简单、最有效的命令行工具之一,通常用来分析或读取文本文件中的数据,并以易于理解的格式显示结果。
awk命令可以用来处理文本文件行中的单词、文本字段、格式化文件文本及以逗号隔开的数据文件等。
awk命令是以行为基本单位的工具,也就是说,awk指令是以一行行的形式读取文本。
它也可以处理特殊的字符,例如回车、逗号、双引号等,这使得它能够将文本分割成字段,而不仅仅是行的简单读取。
awk命令的语法如下:awk [options] script var=value file(s)options和var=value是可选参数,它们和后面的文件名称之间由空格分隔。
options指定特定的awk特性或设置,var=value定义了awk变量,script是指定awk执行的动作,由一系列的操作命令组成,最后是文件列表,可以是单个文件名,也可以是多个文件名,用空格分隔。
使用awk命令时,必须指定一组指令,然后使用括号把它们括起来,如下所示:{ action 1 action 2 action 3 }介绍了awk命令的语法之后,就可以开始介绍awk的用法,它有许多应用场景,例如:(1)查找指定文件中的关键字:可以使用awk快速查找指定文件中的关键字。
(2)替换文本文件中的字母、数字等:可以使用awk替换文本文件中的字母、数字等。
(3)格式化字段:使用awk命令可以轻松地格式化文本文件的字段。
(4)处理以数据作为参数的指令:awk可以读取以数据作为参数的指令,并对它们进行处理,例如统计求和等。
(5)筛选行:awk命令可以根据文本文件中的一行的信息,自动筛选出符合条件的行,从而使得查询更加精准。
awk-文本处理【中文手册版】

awk-⽂本处理【中⽂⼿册版】01. 简介AWK是⼀个⽂本(⾯向⾏和列)处理⼯具,同时它也是⼀门脚本语⾔。
AWK其名称得⾃于它的创始⼈ Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓⽒的⾸个字母。
后来AWK加⼊GUN后,更名为GAWK。
在Linux系统中,已经⾃动集成了GAWK,并兼容AWK。
02. 语法、选项语法gawk [ POSIX or GNU style options ] -f program-file [ -- ] file ...gawk [ POSIX or GNU style options ] [ -- ] program-text file ...选项POSIX options: GNU long options: (standard)-f progfile --file=progfile 从程序⽂件中读取AWK程序,可以使⽤多个"-f"选项。
-F fs --field-separator=fs 设置输⼊字段的分隔符(预定义变量FS的值)。
-v var=val --assign=var=val 在程序开始执⾏前,声明变量。
这些变量=值可⽤于AWK程序的BEGIN规则。
Short options: GNU long options: (extensions)-b --characters-as-bytes 将字符串视为单字节字符输⼊。
-c --traditional 在兼容模式下运⾏。
在兼容模式下,没有⼀个特定的GUN的扩展被识别。
-C --copyright 在标准输出上打印简短的GUN版权信息后并退出。
-d[file] --dump-variables[=file] 打印全局变量、其类型和最终值的排序列表并转储到指定⽂件。
如果没有指定任何⽂件,则默认使⽤名为awkvars的⽂件。
-D[file] --debug[=file] 启⽤对AWK程序的调试功能。
如何使用awk命令进行数据处理和分析

如何使用awk命令进行数据处理和分析Awk命令是一种功能强大的文本处理工具,它可以用于对结构化文本数据进行分析和处理。
在Unix和Linux系统中,Awk命令被广泛应用于文本处理、数据提取和格式化等操作。
本文将介绍如何使用Awk 命令进行数据处理和分析,以帮助读者更好地利用这一工具。
一、Awk命令简介Awk是一种处理文本数据的编程语言,其名称源自创始人Alfred Aho、Peter Weinberger和Brian Kernighan的姓氏首字母。
Awk命令以行作为数据处理的基本单位,使用起来简洁高效。
二、数据处理与过滤使用Awk命令可以轻松实现对文本数据的过滤和处理。
Awk命令的基本语法是模式-动作对。
当一行数据满足指定的模式时,Awk将执行对应的动作。
以下是一个简单的示例:```awk '/模式/ { 动作 }' 文件名```其中,模式可以是正则表达式或条件判断语句,动作可以是打印、计算、赋值等操作。
通过组合不同的模式和动作,可以实现复杂的数据处理功能。
三、基本示例1. 打印某一列数据假设有一个包含多列数据的文件data.txt,我们可以使用Awk命令打印其中的某一列数据。
假设我们要打印第二列数据,通过以下命令实现:```awk '{print $2}' data.txt```2. 数据过滤假设我们需要将文件data.txt中包含特定字符串的行提取出来。
可以使用以下Awk命令实现:```awk '/特定字符串/' data.txt```四、高级功能除了基本的数据处理和过滤功能,Awk命令还提供了一些高级的功能,如计算、统计和格式化输出等。
1. 计算Awk命令可以进行简单的计算,例如对某一列数据求和、求平均值等。
以下是一个示例:```awk '{ sum += $2 } END { print sum }' data.txt```该命令将对文件data.txt中的第二列数据进行求和,并打印结果。
AWK的使用方法

AWK的使用方法AWK是一种用于处理和分析文本数据的工具和编程语言。
它能够在Unix和类Unix操作系统中进行强大的文本处理,因此被广泛用于日志分析、数据提取和转换等任务。
本文将介绍AWK的使用方法和一些常见的应用示例。
AWK的命名来自于三位开发者:Alfred Aho、Peter Weinberger和Brian Kernighan。
它作为一种领域特定语言(Domain Specific Language),主要用于处理和转换结构化文本数据。
AWK的基本用法是将输入文件逐行读取,并根据要求执行特定操作。
AWK程序通常包含一系列的规则(Rules),每个规则都由模式(Pattern)和操作(Action)组成。
当输入行满足一些模式时,对应的操作将被执行。
AWK程序的基本结构如下:```pattern { action }pattern { action }...```其中,pattern是一个逻辑表达式,用于判断输入行是否满足条件。
如果满足条件,对应的action将会被执行。
action可以是一个简单的命令,也可以是一系列命令的组合。
AWK支持多种内置变量和函数,以及各种文本处理命令。
下面是一些常用的内置变量和函数:-NR:当前行号-NF:当前行的字段数量-$0:整行内容-$1,$2,...:指定列的内容- length(string):返回字符串长度- substr(string, start, length):返回字符串的子串- tolower(string):将字符串转换为小写- toupper(string):将字符串转换为大写- split(string, array, delimiter):将字符串按指定分隔符分割为数组下面是一些AWK的应用示例:1.分析日志文件中的错误信息,并统计每个错误出现的次数:```shellawk '/ERROR/ { errors[$0]++ } END { for (err in errors) print err, errors[err] }' log.txt```其中,模式`/ERROR/`表示匹配所有包含"ERROR"的行。
awk命令详解(转整理)

awk命令详解(转整理)awk命令详解(转整理)⼀、前⾔awk有3个不同版本: awk、nawk和gawk,未作特别说明,⼀般指gawk。
awk语⾔的最基本功能是在⽂件或字符串中基于指定规则来分解抽取信息,也可以基于指定的规则来输出数据。
完整的awk脚本通常⽤来格式化⽂本⽂件中的信息。
⼆、基本语法awk [opion] 'awk_script' input_file1 [input_file2 ...]awk的常⽤选项option有:① -F fs : 使⽤fs作为输⼊记录的字段分隔符,如果省略该选项,awk使⽤环境变量IFS的值② -f filename : 从⽂件filename中读取awk_script③ -v var=value : 为awk_script设置变量awk有三种运⾏⽅式:第⼀种,把awk的脚本命令直接放在命令中。
第⼆种,把awk的所有的脚本命令放在⼀个脚本⽂件中,然后⽤-f选项来指定要运⾏的脚本命令⽂件。
第三种,将awk_script放⼊脚本⽂件并以 #!/bin/awk -f 作为⾸⾏,给予该脚本可执⾏权限,然后在shell下通过键⼊该脚本的脚本名调⽤之。
三、awk脚本awk脚本可以由⼀条或多条awk_cmd组成,对于多个awk_cmd,⼀个awk_cmd完成后,应该另起⼀⾏,以便进⾏隔。
awk_cmd由两部分组成: awk_pattern { actions }。
另外,在awk命令中直接使⽤awk_script时,awk_script也可以被分成多⾏书写,但必须确保整个awk_script被单引号括起来。
awk命令的⼀般形式:awk ' BEGIN { actions }awk_pattern1 { actions }............awk_patternN { actions }END { actions }' inputfile其中 BEGIN { actions } 和 END { actions } 是可选的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Unix awk使用手册作者:莫名发表时间:2002/01/27 01:39pm什么是awk?你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。
awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是具有独立意义的英文单词,也不是几个相关单词的缩写。
事实上,awk是三个人名的缩写,他们是:Aho、(Peter)Weinberg和(Brain)Kernighan。
正是这三个人创造了awk---一个优秀的样式扫描与处理工具。
AWK的功能是什么?与sed和grep很相似,awk是一种样式扫描与处理工具。
但其功能却大大强于sed和grep。
awk提供了极其强大的功能:它几乎可以完成grep和sed所能完成的全部工作,同时,它还可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。
它具备了一个完整的语言所应具有的几乎所有精美特性。
实际上,awk的确拥有自己的语言:awk程序设计语言,awk的三位创建者已将它正式定义为:样式扫描和处理语言。
为什么使用awk?即使如此,你也许仍然会问,我为什么要使用awk?使用awk的第一个理由是基于文本的样式扫描和处理是我们经常做的工作,awk所做的工作有些象数据库,但与数据库不同的是,它处理的是文本文件,这些文件没有专门的存储格式,普通的人们就能编辑、阅读、理解和处理它们。
而数据库文件往往具有特殊的存储格式,这使得它们必须用数据库处理程序来处理它们。
既然这种类似于数据库的处理工作我们经常会遇到,我们就应当找到处理它们的简便易行的方法,UNIX有很多这方面的工具,例如sed 、grep、sort以及find等等,awk是其中十分优秀的一种。
使用awk的第二个理由是awk是一个简单的工具,当然这是相对于其强大的功能来说的。
的确,UNIX有许多优秀的工具,例如UNIX天然的开发工具C语言及其延续C++就非常的优秀。
但相对于它们来说,awk完成同样的功能要方便和简捷得多。
这首先是因为awk提供了适应多种需要的解决方案:从解决简单问题的awk命令行到复杂而精巧的awk程序设计语言,这样做的好处是,你可以不必用复杂的方法去解决本来很简单的问题。
例如,你可以用一个命令行解决简单的问题,而C不行,即使一个再简单的程序,C语言也必须经过编写、编译的全过程。
其次,awk本身是解释执行的,这就使得awk程序不必经过编译的过程,同时,这也使得它与shell script程序能够很好的契合。
最后,awk本身较C语言简单,虽然awk吸收了C语言很多优秀的成分,熟悉C语言会对学习awk有很大的帮助,但awk本身不须要会使用C语言——一种功能强大但需要大量时间学习才能掌握其技巧的开发工具。
使用awk的第三个理由是awk是一个容易获得的工具。
与C和C++语言不同,awk只有一个文件(/bin/awk),而且几乎每个版本的UNIX都提供各自版本的awk,你完全不必费心去想如何获得awk。
但C语言却不是这样,虽然C语言是UNIX天然的开发工具,但这个开发工具却是单独发行的,换言之,你必须为你的UNIX版本的C语言开发工具单独付费(当然使用D版者除外),获得并安装它,然后你才可以使用它。
基于以上理由,再加上awk强大的功能,我们有理由说,如果你要处理与文本样式扫描相关的工作,awk应该是你的第一选择。
在这里有一个可遵循的一般原则:如果你用普通的shell工具或shell script有困难的话,试试awk,如果awk仍不能解决问题,则便用C语言,如果C语言仍然失败,则移至C++。
awk的调用方式前面曾经说过,awk提供了适应多种需要的不同解决方案,它们是:一、awk命令行,你可以象使用普通UNIX命令一样使用awk,在命令行中你也可以使用awk程序设计语言,虽然awk支持多行的录入,但是录入长长的命令行并保证其正确无误却是一件令人头疼的事,因此,这种方法一般只用于解决简单的问题。
当然,你也可以在shell script程序中引用awk命令行甚至awk程序脚本。
二、使用-f选项调用awk程序。
awk允许将一段awk程序写入一个文本文件,然后在awk命令行中用-f选项调用并执行这段程序。
具体的方法我们将在后面的awk语法中讲到。
三、利用命令解释器调用awk程序:利用UNIX支持的命令解释器功能,我们可以将一段awk程序写入文本文件,然后在它的第一行加上:#!/bin/awk -f并赋予这个文本文件以执行的权限。
这样做之后,你就可以在命令行中用类似于下面这样的方式调用并执行这段awk程序了。
$awk脚本文本名待处理文件awk的语法:与其它UNIX命令一样,awk拥有自己的语法:awk [ -F re] [parameter...] ['prog'] [-f progfile][in_file...]参数说明:-F re:允许awk更改其字段分隔符。
parameter: 该参数帮助为不同的变量赋值。
'prog': awk的程序语句段。
这个语句段必须用单拓号:'和'括起,以防被shell解释。
这个程序语句段的标准形式为:'pattern {action}'其中pattern参数可以是egrep正则表达式中的任何一个,它可以使用语法/re/再加上一些样式匹配技巧构成。
与sed类似,你也可以使用","分开两样式以选择某个范围。
关于匹配的细节,你可以参考附录,如果仍不懂的话,找本UNIX书学学grep和sed(本人是在学习ed时掌握匹配技术的)。
action参数总是被大括号包围,它由一系列awk语句组成,各语句之间用";"分隔。
awk解释它们,并在pattern给定的样式匹配的记录上执行其操作。
与shell类似,你也可以使用“#”作为注释符,它使“#”到行尾的内容成为注释,在解释执行时,它们将被忽略。
你可以省略pattern和action之一,但不能两者同时省略,当省略pattern时没有样式匹配,表示对所有行(记录)均执行操作,省略action 时执行缺省的操作——在标准输出上显示。
-f progfile:允许awk调用并执行progfile指定有程序文件。
progfile是一个文本文件,他必须符合awk的语法。
in_file:awk的输入文件,awk允许对多个输入文件进行处理。
值得注意的是awk不修改输入文件。
如果未指定输入文件,awk将接受标准输入,并将结果显示在标准输出上。
awk支持输入输出重定向。
awk的记录、字段与内置变量:前面说过,awk处理的工作与数据库的处理方式有相同之处,其相同处之一就是awk支持对记录和字段的处理,其中对字段的处理是grep和sed不能实现的,这也是awk优于二者的原因之一。
在awk中,缺省的情况下总是将文本文件中的一行视为一个记录,而将一行中的某一部分作为记录中的一个字段。
为了操作这些不同的字段,awk借用shell 的方法,用$1,$2,$3...这样的方式来顺序地表示行(记录)中的不同字段。
特殊地,awk 用$0表示整个行(记录)。
不同的字段之间是用称作分隔符的字符分隔开的。
系统默认的分隔符是空格。
awk允许在命令行中用-F re的形式来改变这个分隔符。
事实上,awk 用一个内置的变量FS来记忆这个分隔符。
awk中有好几个这样的内置变量,例如,记录分隔符变量RS、当前工作的记录数NR等等,本文后面的附表列出了全部的内置变量。
这些内置的变量可以在awk程序中引用或修改,例如,你可以利用NR变量在模式匹配中指定工作范围,也可以通过修改记录分隔符RS让一个特殊字符而不是换行符作为记录的分隔符。
例:显示文本文件myfile中第七行到第十五行中以字符%分隔的第一字段,第三字段和第七字段:awk -F % 'NR==7,NR==15 {printf $1 $3 $7}'awk的内置函数awk之所以成为一种优秀的程序设计语言的原因之一是它吸收了某些优秀的程序设计语言(例如C)语言的许多优点。
这些优点之一就是内置函数的使用,awk定义并支持了一系列的内置函数,由于这些函数的使用,使得awk提供的功能更为完善和强大,例如,awk使用了一系列的字符串处理内置函数(这些函数看起来与C语言的字符串处理函数相似,其使用方式与C语言中的函数也相差无几),正是由于这些内置函数的使用,使awk处理字符串的功能更加强大。
本文后面的附录中列有一般的awk所提供的内置函数,这些内置函数也许与你的awk版本有些出入,因此,在使用之前,最好参考一下你的系统中的联机帮助。
作为内置函数的一个例子,我们将在这里介绍awk的printf函数,这个函数使得awk与c语言的输出相一致。
实际上,awk中有许多引用形式都是从C语言借用过来的。
如果你熟悉C语言,你也许会记得其中的printf函数,它提供的强大格式输出功能曾经带我们许多的方便。
幸运的是,我们在awk中又和它重逢了。
awk中printf几乎与C语言中一模一样,如果你熟悉C语言的话,你完全可以照C语言的模式使用awk中的printf。
因此在这里,我们只给出一个例子,如果你不熟悉的话,请随便找一本C语言的入门书翻翻。
例:显示文件myfile中的行号和第3字段:$awk '{printf"%03d%s\n",NR,$1}' myfile在命令行使用awk按照顺序,我们应当讲解awk程序设计的内容了,但在讲解之前,我们将用一些例子来对前面的知识进行回顾,这些例子都是在命令行中使用的,由此我们可以知道在命令行中使用awk是多么的方便。
这样做的原因一方面是为下面的内容作铺垫,另一方面是介绍一些解决简单问题的方法,我们完全没有必要用复杂的方法来解决简单的问题----既然awk提供了较为简单的方法的话。
例:显示文本文件mydoc匹配(含有)字符串"sun"的所有行。
$awk '/sun/{print}' mydoc由于显示整个记录(全行)是awk的缺省动作,因此可以省略action项。
$awk '/sun/' mydoc例:下面是一个较为复杂的匹配的示例:$awk '/[Ss]un/,/[Mm]oon/ {print}' myfile它将显示第一个匹配Sun或sun的行与第一个匹配Moon或moon的行之间的行,并显示到标准输出上。
例:下面的示例显示了内置变量和内置函数length()的使用:$awk 'length($0)>80 {print NR}' myfile该命令行将显示文本myfile中所有超过80个字符的行号,在这里,用$0表示整个记录(行),同时,内置变量NR不使用标志符'$'。