`
liqi6510
  • 浏览: 39204 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

awk编程示例

阅读更多
源文件如下:
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高效编程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的使用技巧。这些实例可能涵盖简单的数据提取到复杂的逻辑处理,有助于提升用户在数据处理方面的技能。 总的...

    Sed AWK编程指南

    ### Sed AWK编程指南知识点详解 #### 一、引言 在计算机科学领域,文本处理是必不可少的一部分。其中,`sed` 和 `awk` 是两种非常强大的文本处理工具,广泛应用于Linux/Unix环境中。本指南将详细介绍这两个工具的...

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

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

    Effective.Awk.Programming.3rd.Edition

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

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

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

    UNIX 下AWK编程起步教程

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

    linux下的awk编程

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

    GAWK: Effective AWK Programming;AWK说明书

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

    批量pdg转换pdf_附示例(实践大师:UNIX+awk和sed编程篇.pdg

    本文将深入探讨如何使用UNIX环境中的awk和sed工具进行批量pdg到pdf的转换,并结合提供的资源"批量pdg转换pdf_附示例(实践大师:UNIX+awk和sed编程篇.pdg"来讲解这一过程。 首先,pdg是一种图像文件格式,主要由中...

    linux shell awk 编程

    awk作为sehll脚本开发的三大利器之一,该文档对awk语法做了详细的介绍病附带示例,唯一不足之处在于没有形成规范的doc文档

    Gawk Effective awk Programming

    本书详细介绍了AWK的基本概念和语法,并通过实际示例帮助读者快速掌握AWK编程技巧。 #### 三、核心概念与特性 1. **数据驱动的控制流**:AWK程序通常按照预定义的数据格式来处理输入数据,这种数据驱动的方法简化...

    sed awk高级编程案例

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

    AWK编程基础

    ### AWK编程基础知识点 #### 一、AWK简介与应用场景 AWK是一种强大的文本处理工具,被广泛用于格式化报文以及从大型文本文件中提取数据包。它尤其擅长处理文本浏览和数据检索任务。AWK之所以被认为比其他shell过滤...

    Sed与Awk (中文版)

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

Global site tag (gtag.js) - Google Analytics