`

awk编程基本使用示例

 
阅读更多

对于每一行,如果第三列大于0,则打印第一列,第二列*第三列的值
awk `$3>0 {print $1,$2*$3}` file1 file2
-f指定执行程序的文件
awk -f programfile inputfile  

打印整行输入
awk `{print}` 或者 awk `{print $0}`

NR当前行数,NF当前行的列数,下面这个 是打印当前行的列数,第一列和最后一列
awk `{print NR, NF, $1, $NF}`

格式化输出,跟c语言格式化类似
awk `printf("%-8s %.2f", $1,$2*$3)`

排序
awk `$3>0 {print $1,$2*$3}` file1 file2 | sort

计算后再选择
awk `$3 * $2>50 {print $1,$2*$3}` file1 file2
awk `$1=="suite" {print $1,$2*$3}` file1 file2
awk `!($NF>5 || $NF < 2)" {print $1,$2*$3}` file1 file2 

BEGIN 和 END BEGIN在处理输入前先执行BEGIN语句块
awk `BEGIN{print " name  rate number:"}{print}`
统计第三列大于50的总数,在处理完输入之后最后输入第三列大于50的总数
awk `$3>50{$emp=$emp+1} END{print $emp}`

字符串拼接
awk `{$name=$name $1 " "} END {print $name}`

内置函数length
awk `{print $1, length($1)}`

if-else
awk `$2>10{$n=$n+1,$pay=$2*3} END{if($n>0) print n else print "no"}`

while语句
awk `i=1 while(i<$3){printf("%s",$3) i=i+1}`

for
awk `{for(i=1;i<$3;i=i+1)printf("%s",$3)}`

arrays
逆序打印
awk `{line[NR]=$0} END {i=NR while(i>0){print line[i] i=i-1}}`

字段分隔符
awk `BEGIN{FS="\t"}{printf("$s %s",$1,$2) $cnt=$cnt+$2}END{print $cnt}`

正则匹配
$2包含字符串asia
awk `$2  ~ /asia/ print $3`
$2没有包含字符串asia
awk `$2  !~ /asia/ print $3`

内置变量
FNR 需要读入的行数 FILENAME 读入的文件名

赋值到字段中
awk `BEGIN{FS=OFS="\t"} $2=="aaa" {$4="bbb"} $2=="ccc" {$4="ddd"}{print}`

内置数学函数
atan2(y,x) cos(x) exp(x) int(x) log(x) rand(x) sin(x) sqrt(x) srand(x)

string内置函数
gsub(r,s) gsub(r,s,t) index(s,t) length(s) match(s,r) split(s,a) split(s,a,fs) sprinf() sub(r,s) substr(s,p)

do statement while(expr)
break continue
next exit

delete函数
for(i in pop)
  delete pop[i]

多维数组
pop[i,j]
if((i,j) in arr) ...
 
0
2
分享到:
评论

相关推荐

    Effective awk Programming, 4th Edition[awk高效编程4版]

    《Effective awk Programming, 4th Edition》是一本深入讲解awk编程技术的专业书籍,旨在帮助读者提升在文本处理和数据操作中的效率。awk是Unix/Linux环境中的一款强大工具,它专门用于处理结构化的文本数据,如日志...

    GAWK-Effective AWK Programming - GNU Awk编程经典

    《GAWK: Effective AWK Programming - GNU Awk编程经典》是一本介绍如何使用GAWK进行编程的指南。 在标题中提到的“GNU Awk编程经典”指的是这本书是学习和掌握GNU Awk编程的权威资源。该书详细介绍了awk语言的基础...

    AWK编程实例指南.rar_AWK ns2_awk_awk unix.shell_awk编程实例

    "awk编程实例"意味着这个压缩包特别关注AWK的实际应用,提供了一系列的编程示例,帮助用户理解和掌握AWK的使用技巧。这些实例可能涵盖简单的数据提取到复杂的逻辑处理,有助于提升用户在数据处理方面的技能。 总的...

    awk编程,使用于初学者

    ### AWK编程初学者指南 #### 一、引言 AWK编程,作为一种在Unix操作系统中广泛应用的脚本语言,自1977年由Alfred V. Aho、Peter J. Weinberger和Brian W. Kernighan三位大师共同创造以来,便以其强大的文本处理...

    Sed AWK编程指南

    ### Sed AWK编程指南知识点详解 #### 一、引言 在计算机科学领域,文本处理是必不可少的...以上内容涵盖了《Sed AWK编程指南》中的部分关键知识点,对于理解和掌握这两个工具的基本用法至关重要。希望对你有所帮助!

    Effective AWK Programming:Awk 编程的经典著作

    《Effective AWK Programming》是关于AWK编程语言的一本经典著作,主要面向那些希望深入理解和高效使用AWK的读者。AWK是一种强大的文本分析工具,常用于数据处理、报告生成和脚本编写,在UNIX和类UNIX系统中广泛使用...

    UNIX 下AWK编程起步教程

    本教程是为初学者准备的,将带你步入AWK编程的世界,帮助你理解其基本概念和常用操作。 1. **AWK的基本原理** - AWK工作在行级别,它逐行读取输入文件,然后根据用户定义的模式(pattern)对每一行进行匹配。 - ...

    Sed与Awk (中文版)

    **awk编程的高级应用** 书中还涉及了如何开发处理索引的应用程序,以此来演示awk的强大功能。此外,还包括了如何获取不同awk版本的FTP和联系信息。 **用户提供的程序实例** 本书还包含了一系列由用户提供的程序,...

    Effective.Awk.Programming.3rd.Edition

    描述:“高效awk编程,高清文字版” 这里的描述向我们传达了这本书的目的和特色。首先,“高效”强调了效率和优化,意味着书中将教你如何编写出高效能的awk脚本。其次,“高清文字版”可能意味着这本书的电子版格式...

    GNU AWK 英文版使用手册

    这部分内容适合已经掌握基础AWK编程,希望进一步提升编程能力和了解gawk高级特性的高级用户。 最后的附录部分,提供了AWK语言的演进历史、gawk的安装说明、实现笔记、基本编程概念和术语表。附录旨在为读者提供更多...

    linux下的awk编程

    ### Linux下的awk编程 #### 简介 `awk`是一种强大的文本处理工具,它在Linux环境下被广泛用于数据操作任务,例如格式化数据、验证数据有效性、查找具有特定属性的项、累加数字以及打印报告等。由于这些任务经常...

    awk:AWK编程语言(AWK程序设计语言,awkbook)

    在标签中提到的“latex awk awkbook LaTeXTeX”,暗示了这个压缩包可能包含与AWK编程相关的LaTeX文档或教程。"awkbook"可能是《AWK程序设计语言》的LaTeX源代码,这对于学习AWK和LaTeX的人来说非常有价值,因为可以...

    GAWK: Effective AWK Programming;AWK说明书

    本书通过提供详尽的教程和示例,帮助读者掌握AWK编程,并能有效地在实际工作中使用GAWK。 整体而言,这本书是一个全面的指南,不仅仅覆盖了AWK编程的基础,还涉及到了高级主题和实际应用案例。作为程序员和系统管理...

    awk 基本的一些常用用法

    AWK语言不仅支持基础的文本处理功能,还提供了高级的数据处理能力,使得它在数据分析、报告生成以及简单的脚本编程方面都非常有用。 #### 命令选项 - `-F`:用于指定输入文件中的字段分隔符。例如,如果文件是以...

    awk使用手册,awk使用手册

    ### Awk 使用手册详解 #### 一、Awk 简介 Awk 是一种功能强大的文本处理工具,广泛应用于 Unix 和类 Unix 系统中。它的名字来源于三位设计者的名字首字母:Aho (Peter)、Weinberger (Brian) 和 Kernighan (Doug)。...

    sed awk高级编程案例

    示例中使用了awk的内建循环来实现这一点,通过增加数组下标并逐行打印的方式,可以将文件中所有行都存储到数组变量中。 接着,涉及到将汉字转换为URL编码的场景,这通常是为了将文件名或URL参数中的中文字符转换为...

Global site tag (gtag.js) - Google Analytics