一、基础
1.程序格式
gawk options program file
-F:分隔符
-f: 文件
-v:变量
-mf: 最大字段数
-mr:最大行数
2.将命令放于花括号中
gawk '{...}'
3.字段变量
$0: 整行文本
$1...$n: 第n个字段
gawk -F: '{print $1}' /etc/passwd
echo "my name is sosop" | gawk '{$4="hsosop"; print $0}'
4.script
gawk -F: -f script1 /etc/passwd
script1:
{txt="the name of user is "; print txt $1}
5.处理数据前后运行脚本
gawk -F: 'BEGIN {print "before deal"} {print $1}' /etc/passwd
gawk 'BEGIN {print "BEGIN";a=10}{print a=a+1} END {print "END"}' /etc/passwd
二、进阶
1.变量
1.1、内建变量
FS: 输入字段分隔符
RS: 输入数据行分隔符
OFS: 输出字段分隔符
ORS: 输出数据行分隔符
FIELDWIDTHS: 分隔符空格 每个field的宽度
1.2、数据变量
FILENAME: 文件名
FNR: 当前文件行数
NF: 总字段数
NR: 已处理的行数
ARGC: 参数个数
ARGV[0]: 参数数组
ENVIRON["HOME"]
1.3、自定义变量
gawk -F: '{print $n}' n=1 /etc/passwd
2.数组处理
for(var in array) {
do something ...
}
delete var["index"]
3.模式匹配
gawk '/root/ {print $0}' /etc/passwd
gawk '$1 ~ /^d/ {print $0}' /etc/passwd
gawk '$1 !~ /^d/ {print $0}' /etc/passwd
4.数学表达式
gawk -F: '$3 == 1000 {print $0}' /etc/passwd
==、>、<、>=、<=
5.结构化
gawk -F: '{
if ($3 > 100) {
print $3
}
else
{
}
}' /etc/passwd
while(condition) {
statements;
}
do {
statements;
} while(condition)
for(i = 1; i < 10; i++) {
statements;
}
printf: 跟C语言一样
6.内建函数
6.1、数学函数
atan2(x,y) cos(x) sin(x) exp(x) int(x) log(x) rand() sqrt(x) srand(x)
6.2、字符串
asort(arr1[, arr2]) asorti(arr1[, arr2])
gensub(reg, s, h [,target]) gsub(reg, s [, target]) sub(reg, s [, target])
index(s, t) length([s])
match(reg, s [, arr])
split(s, a [, reg])
substr(s, i [,n]) tolower(s) toupper(s)
6.3、时间函数
mktime(datespec) strftime(format [,timestamp]) systime()
6.4、自定义函数
function name([var])
{
statements
}
相关推荐
gawk正则表达式Regular ExpressionsRegular Expressions
gawk 是 GNU 的 awk,具有很强的文本处理功能,简洁优美. awk 是一个程式语言,对于文本处理具有很强的功能。对於文字档里的资料做修改、比对、抽取等的处理,awk 能够以很短的程式 轻易地完成。 awk 能够依照使用...
gawk使用手册 国人所做 中文 详细 使用 实例说明 容易入门
介绍了gawk常用的使用方法,适用于linux和cygwin环境下的使用。
wk是一个程式语言,对於资料的处理具有很强的功能。对於文 字档里的资料做 修改、比对、抽取等的处理,
gawk快速入门,包括gawk的基本使用方法介绍及一些实例。
gawk windows版本的gawk 一个功能强大的文本编辑器
参考手册 手册文档\gawk-3.1.4.chm gawk linux 开发 必备工具
shell语言gawk的一些正则用法,自己整理的一些,希望对大家有帮助,免费提供给大家
可以在windows环境下使用的awk,最新版本4.2.1。 解压zip文件,把解压后文件夹下面的bin目录添加到系统环境变量里面。
欢迎大家使用gawk,本人也喜欢Linux 喜欢OpenSource
gawk简介,入门,基础知识,你可以通过gawk方便的编写unix程序
gawk-4.1.4的.deb版本,shtool-2.0.8的 .tar.gz版本 shtool库提供了一些简单的shell脚本函数,用来完成日常的shell功能,如处理临时文件和目录 gawk 处理文本文件的神器,linux的发行版默认没有安装 gawk程序
gawk-3.1.6-1-bin windows的awk 最新版,安装后可在windows操作系统上像在linux上使用awk命令。
LINUX下grep、sed、gawk指令详解.pdf
gawk-4.1.4.tar.xz
mac gawk-4.0.0-2.pkg
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
一般的UNIX作业系统,本身即附有AWK,不同的UNIX作业系统所附的AWK其版本亦不尽相同,若读者所使用的系统上未附有AWK,可通过 anonymous ftp 到下列地方取得: phi./pub/gnu ftp/UNIX/gnu preppub/gnu 注 解:一种...