源文件如下:
Yellow#Junior
Orange#Senior
Yellow#Junior
Orange#Junior
Red#Senior
Red#Junior
现在需要统计文件中Yellow、Orange、Red个数以及Junior、Senior的个数。则利用awk编程
statistic1.awk
#!/bin/awk -f
BEGIN {
FS = "#";
}
{
split($0,students,"#");
for (i in students) {
if ( students[i] == "Yellow" ){
yellow_count +=1;
} else if ( students[i] == "Orange" ) {
orange_count +=1;
} else if ( students[i] == "Red" ) {
red_count +=1;
} else if ( students[i] == "Junior" ) {
junior_count +=1;
} else if ( students[i] == "Senior" ) {
senior_count +=1;
}
}
}
END {
print "yellow_count:" yellow_count;
print "orange_count:" orange_count;
print "red_count:" red_count;
print "junior_count:" junior_count;
print "senior_count:" senior_count;
}
statistic2.awk
#!/bin/awk -f
BEGIN {
FS="#"
colours["Yellow"]
colours["Orange"]
colours["Red"]
students["Junior"]
students["Senior"]
}
{
for ( colour in colours ) {
if ($1 == colour) {
colours[colour]++;
}
}
for ( student in students ) {
if ( $2 == student ) {
students[student]++;
}
}
}
END {
for ( colour in colours ) print "The Club has ", colours[colour],colour, "Beltes";
for ( student in students ) print "The Club has ", students[student],student, "students";
}
比较这两个编程,明显第二个方法要比第一种方法来的简练。
分享到:
相关推荐
《Effective awk Programming, 4th Edition》是一本深入讲解awk编程技术的专业书籍,旨在帮助读者提升在文本处理和数据操作中的效率。awk是Unix/Linux环境中的一款强大工具,它专门用于处理结构化的文本数据,如日志...
《GAWK: Effective AWK Programming - GNU Awk编程经典》是一本介绍如何使用GAWK进行编程的指南。 在标题中提到的“GNU Awk编程经典”指的是这本书是学习和掌握GNU Awk编程的权威资源。该书详细介绍了awk语言的基础...
"awk编程实例"意味着这个压缩包特别关注AWK的实际应用,提供了一系列的编程示例,帮助用户理解和掌握AWK的使用技巧。这些实例可能涵盖简单的数据提取到复杂的逻辑处理,有助于提升用户在数据处理方面的技能。 总的...
### Sed AWK编程指南知识点详解 #### 一、引言 在计算机科学领域,文本处理是必不可少的一部分。其中,`sed` 和 `awk` 是两种非常强大的文本处理工具,广泛应用于Linux/Unix环境中。本指南将详细介绍这两个工具的...
《Effective AWK Programming》是关于AWK编程语言的一本经典著作,主要面向那些希望深入理解和高效使用AWK的读者。AWK是一种强大的文本分析工具,常用于数据处理、报告生成和脚本编写,在UNIX和类UNIX系统中广泛使用...
描述:“高效awk编程,高清文字版” 这里的描述向我们传达了这本书的目的和特色。首先,“高效”强调了效率和优化,意味着书中将教你如何编写出高效能的awk脚本。其次,“高清文字版”可能意味着这本书的电子版格式...
在标签中提到的“latex awk awkbook LaTeXTeX”,暗示了这个压缩包可能包含与AWK编程相关的LaTeX文档或教程。"awkbook"可能是《AWK程序设计语言》的LaTeX源代码,这对于学习AWK和LaTeX的人来说非常有价值,因为可以...
本教程是为初学者准备的,将带你步入AWK编程的世界,帮助你理解其基本概念和常用操作。 1. **AWK的基本原理** - AWK工作在行级别,它逐行读取输入文件,然后根据用户定义的模式(pattern)对每一行进行匹配。 - ...
### Linux下的awk编程 #### 简介 `awk`是一种强大的文本处理工具,它在Linux环境下被广泛用于数据操作任务,例如格式化数据、验证数据有效性、查找具有特定属性的项、累加数字以及打印报告等。由于这些任务经常...
本书通过提供详尽的教程和示例,帮助读者掌握AWK编程,并能有效地在实际工作中使用GAWK。 整体而言,这本书是一个全面的指南,不仅仅覆盖了AWK编程的基础,还涉及到了高级主题和实际应用案例。作为程序员和系统管理...
本文将深入探讨如何使用UNIX环境中的awk和sed工具进行批量pdg到pdf的转换,并结合提供的资源"批量pdg转换pdf_附示例(实践大师:UNIX+awk和sed编程篇.pdg"来讲解这一过程。 首先,pdg是一种图像文件格式,主要由中...
awk作为sehll脚本开发的三大利器之一,该文档对awk语法做了详细的介绍病附带示例,唯一不足之处在于没有形成规范的doc文档
本书详细介绍了AWK的基本概念和语法,并通过实际示例帮助读者快速掌握AWK编程技巧。 #### 三、核心概念与特性 1. **数据驱动的控制流**:AWK程序通常按照预定义的数据格式来处理输入数据,这种数据驱动的方法简化...
示例中使用了awk的内建循环来实现这一点,通过增加数组下标并逐行打印的方式,可以将文件中所有行都存储到数组变量中。 接着,涉及到将汉字转换为URL编码的场景,这通常是为了将文件名或URL参数中的中文字符转换为...
### AWK编程基础知识点 #### 一、AWK简介与应用场景 AWK是一种强大的文本处理工具,被广泛用于格式化报文以及从大型文本文件中提取数据包。它尤其擅长处理文本浏览和数据检索任务。AWK之所以被认为比其他shell过滤...
**awk编程的高级应用** 书中还涉及了如何开发处理索引的应用程序,以此来演示awk的强大功能。此外,还包括了如何获取不同awk版本的FTP和联系信息。 **用户提供的程序实例** 本书还包含了一系列由用户提供的程序,...