gawk内建环境变量:
变量 描述
$n 当前记录的第n个字段,字段间由FS分隔。
$0 完整的输入记录。
ARGC 命令行参数的数目。
ARGIND 命令行中当前文件的位置(从0开始算)。
ARGV 包含命令行参数的数组。
CONVFMT 数字转换格式(默认值为%.6g)
ENVIRON 环境变量关联数组。
ERRNO 最后一个系统错误的描述。
FIELDWIDTHS 字段宽度列表(用空格键分隔)。
FILENAME 当前文件名。
FNR 同NR,但相对于当前文件。
FS 字段分隔符(默认是任何空格)。
IGNORECASE 如果为真,则进行忽略大小写的匹配。
NF 当前记录中的字段数。
NR 当前记录数。
OFMT 数字的输出格式(默认值是%.6g)。
OFS 输出字段分隔符(默认值是一个空格)。
ORS 输出记录分隔符(默认值是一个换行符)。
RLENGTH 由match函数所匹配的字符串的长度。
RS 记录分隔符(默认是一个换行符)。
RSTART 由match函数所匹配的字符串的第一个位置。
SUBSEP 数组下标分隔符(默认值是\034)。
<wbr></wbr>
gawk运算符
Table 2. 运算符
运算符 描述
= += -= *= /= %= ^= **= 赋值
?: C条件表达式
|| 逻辑或
&& 逻辑与
~ ~! 匹配正则表达式和不匹配正则表达式
< <= > >= != == 关系运算符
空格 连接
+ - 加,减
* / & 乘,除与求余
+ - ! 一元加,减和逻辑非
^ *** 求幂
++ -- 增加或减少,作为前缀或后缀
$ 字段引用
in 数组成员
6. 记录和域
6.1. 记录
gawk把每一个以换行符结束的行称为一个记录。
记录分隔符:默认的输入和输出的分隔符都是回车,保存在内建变量ORS和RS中。
$0变量:它指的是整条记录。如 gawk..exe <wbr>“{print $0}” <wbr>test.txt将输出test文件中的所有记录。<br><br>
变量NR:一个计数器,每处理完一条记录,NR的值就增加1。如 gawk.exe <wbr>“{print NR,$0}” test.txt将输出test文件中所有记录,并在记录前显示记录号。<br>
6.2. 域<br><br>
记录中每个单词称做“域”,默认情况下以空格或tab分隔。gawk可跟踪域的个数,并在内建变量NF中保存该值。如 gawk “{print $1,$3}” <wbr>test.txt将打印test文件中第一和第三个以空格分开的列(域)。<br>
6.3. 域分隔符<br><br>
内建变量FS保存输入域分隔符的值,默认是空格或tab。我们可以通过-F命令行选项修改FS的值。如 gawk.exe –F”:” <wbr>“{print $1,$5}” <wbr>test.txt将打印以冒号为分隔符的第一,第五列的内容。<br><br>
可以同时使用多个域分隔符,这时应该把分隔符写成放到方括号中,如gawk.exe –F”[:\t]” “{print $1,$3}'” test.exe,表示以空格、冒号和tab作为分隔符。<br><br>
输出域的分隔符默认是一个空格,保存在OFS中。如gawk.exe –F”:” <wbr>“{print $1,$5}” <wbr>test.exe,$1和$5间的逗号就是OFS的值。<br>
7. gawk专用正则表达式元字符<br><br>
一般通用的元字符集就不讲了,可参考我的Sed和Grep学习笔记。以下几个是gawk专用的,不适合unix版本的gawk。<br><br>
\Y<br><br>
匹配一个单词开头或者末尾的空字符串。<br>
\B<br><br>
匹配单词内的空字符串。<br>
\<<br><br>
匹配一个单词的开头的空字符串,锚定开始。<br>
\><br><br>
匹配一个单词的末尾的空字符串,锚定末尾。<br>
\w<br><br>
匹配一个字母数字组成的单词。<br>
\W<br><br>
匹配一个非字母数字组成的单词。<br>
\‘<br><br>
匹配字符串开头的一个空字符串。<br>
\'<br><br>
匹配字符串末尾的一个空字符串。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
分享到:
相关推荐
gawk 是 GNU 的 awk,具有很强的文本处理功能,简洁优美. awk 是一个程式语言,对于文本处理具有很强的功能。对於文字档里的资料做修改、比对、抽取等的处理,awk 能够以很短的程式 轻易地完成。 awk 能够依照使用...
在Windows环境下使用`GAWK version 4.2.1`,用户可以享受到与Unix/Linux系统相同的文本处理能力,这对于Windows开发者和系统管理员来说是一个非常有用的工具。 `awk`的基本原理是基于模式匹配和动作执行。它可以在...
1. **安装与配置**:在Windows上安装gawk,用户通常需要下载二进制发行版并添加其可执行文件路径到系统的PATH环境变量中,以便在任何目录下都可以运行gawk命令。 2. **基本语法**:Gawk脚本由模式和动作组成,模式...
在Windows系统上,你可能需要通过命令提示符或者PowerShell来运行`gawk`命令,将`gawk-3.1.6-1-bin`添加到系统路径后,就可以像在Linux下一样方便地调用`gawk`了。 总的来说,`gawk-3.1.6-1-bin`为Windows用户提供...
在Cygwin环境下,gawk与Linux系统中的行为基本一致,但在处理路径和文件名时需要注意Windows和Unix风格的区别。 总的来说,《gawk使用手册》会涵盖以上所有内容,并提供实例来解释每个概念。通过深入学习,你将能够...
Gawk: pattern scanning and processing language Version 3.1.6 Description Several kinds of tasks occur repeatedly when working with text files. You might want to extract certain lines and discard ...
可以在windows系统中使用linux中的awk命令。具体使用方法请参照linux版本的awk使用方法。 可以在windows系统中使用linux中的awk命令。具体使用方法请参照linux版本的awk使用方法
本文将详细介绍如何在Windows上安装和使用Gawk 5.0.1版本,以及如何将Gawk集成到系统环境变量中。 首先,我们提到的"**gawk-5.0.1-w32.zip**"是一个专门为Windows系统编译的Gawk版本,版本号为5.0.1。这个压缩包...
gawk for windows 运行环境
1.GAWK:Effective AWK Programming_Edition 4.2.dvi 2.GAWK:Effective AWK Programming_Edition 4.2.html 3.GAWK:Effective AWK Programming_Edition 4.2.pdf 4.GAWK:Effective AWK Programming_Edition 4.2.txt
处理文本文件时,会重复出现多种任务。 您可能想要提取某些行并丢弃其余行。 或者,您可能需要在出现某些特定模式... 这意味着所有正确编写的 awk 程序都应该使用 gawk。 因此,我们通常不区分 gawk 和其他 awk 实现。
当在Windows上编译awk源码时,我们需要以下准备工作: 1. 获取awk源码:通常可以从GNU Awk (gawk)官方网站下载最新版本的源代码,例如`gawk-5.x.x.tar.gz`。 2. 安装编译环境:对于32位系统,你需要安装MinGW...
其中,gawk-3.1.6-1是GNU Awk的版本,这是一个文本处理工具,经常与GMT结合使用,帮助解析和操作GMT生成的地图配置文件或数据文件。gs921w64可能是指Ghostscript的9.21版Windows 64位版本,它是GMT用来处理Post...
gawk for windows 运行环境
GAWK 是 GNU 项目对 AWK 的开源实现,支持多种操作系统,包括 UNIX、Mac OS X 和 Windows。由于其兼容 POSIX 标准,GAWK 可以在不同平台上提供一致的行为。 在 GAWK 中,程序通常是数据驱动的,通过模式匹配和操作...
总结一下,GAWK 5.1.0 for Windows是一个强大而易用的文本处理工具,适用于批处理任务,通过提供的lib、share、bin和include目录,用户可以在Windows环境下便捷地使用和扩展其功能。无论你是初学者还是经验丰富的...
GAWK是GNU项目对AWK语言的开源实现,兼容1992年的POSIX标准,因此它可以在各种操作系统上运行,包括UNIX、Mac OS X和Windows。GAWK不仅支持原始AWK和NAWK的特性,还不断更新以增加新功能。这意味着你可以在不同平台...
GNU AWK (GAWK) 是开源的AWK实现,适用于所有UNIX系统,同时也在其他操作系统如Mac OS X和Microsoft Windows上可用。GAWK不仅包含了原始AWK的功能,还引入了NAWK(New AWK)的增强特性,如新的内置函数、变量、特殊...
这里提到的"windows下的uniq"实际上可能是指一个名为UNIQUE.exe的程序,它用于处理数据,去除重复行,与Gawk(GNU Awk)配合工作,提供数据分析中的去重能力。 `uniq`命令在Unix/Linux中是一个非常常见的文本处理...
1. **跨平台**:GAWK可以在各种主要的UNIX平台和其他操作系统上运行,包括Windows和Mac OS X。 2. **POSIX兼容**:GAWK遵循POSIX标准,确保了其在不同系统上的一致性。 3. **无内存限制**:GAWK没有预定义的内存限制...