`
emcome
  • 浏览: 304170 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

awk 练习4

阅读更多

$ cat -A lab5.data1
Mike Harrington:(510) 548-1278:250:100:175
Christian Dobbi:(408) 538-2358:155:90:201
Susan Dalsass:(206) 654-6279:250:60:50
Archie McNichol:(206) 548-1348:250:100:175
Jody Savage:(206) 548-1278:15:188:150
Guy Quigley:(916) 343-6410:250:100:175
Dan Savage:(406) 298-7744:450:300:275
Nancy McNeil:(206) 548-1278:250:80:75
John Goldenrod:(916) 348-4278:250:100:175
Chet Main:(510) 548-5258:50:95:135
Tom Savage:(408) 926-3456:250:168:200
Elizabeth Stach:(916) 440-1763:175:75:300


要求写脚本达到以下效果:


        ***CAMPAIGN 1998 CONTRIBUTIONS***
________________________________________________________________________

NAME                         PHONE                   Jan  | Feb  | Mar  | Total Donated
________________________________________________________________________
Mike Harrington        (510) 548-1278    250   100     175        525
Christian Dobbi         (408) 538-2358    155   90       201        446
Susan Dalsass          (206) 654-6279    250   60       50          360
Archie McNichol        (206) 548-1348    250   100    175        525
Jody Savage              (206) 548-1278    15      188    150        353
Guy Quigley               (916) 343-6410     250   100    175        525
Dan Savage               (406) 298-7744     450   300    275        1025
Nancy McNeil            (206) 548-1278     250   80       75          405
John Goldenrod        (916) 348-4278     250   100     175        525
Chet Main                   (510) 548-5258     50     95        135        280
Tom Savage               (408) 926-3456     250  168      200        618
Elizabeth Stach          (916) 440-1763     175  75        300        550
_________________________________________________________________________

            SUMMARY
_________________________________________________________________________
The campaign received a total of $6137.00 for this quarter.
The average donation for the 12 contributors was $511.42.
The highest total contribution was $1025.00 made by Dan Savage.

                  ***THANKS Dan***

The following people donated over %500 to the campaign.

They are eligible for the quarterly drawing!!

Listed are their names (sorted by last names) and phone numbers:

 

                 John Goldenrod--(916) 348-4278

                 Mike Harrington--(510) 548-1278
                 Archie McNichol--(206) 548-1348
                 Guy Quigley--(916) 343-6410
                 Dan Savage--(406) 298-7744
                 Tom Savage--(408) 926-3456
                 Elizabeth Stach--(916) 440-1763

                              Thanks to all of you for your continued support!!

 

#cat awk.sc

BEGIN{FS=":"
        print "\n"
        print "\t\t***CAMPAIGN 1998 CONTRIBUTIONS***"
        print "---------------------------------------------------------"
        print "NAME\tPHONE\t\tJAN |  FEB |  MAR | Total Donated"
        print "---------------------------------------------------------"
        hight = 0
        lowest = 10000
        ht = 0
        user = $1
}
{$6 = $3+$4+$5;print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6}
{total+=$6;average=total/12}
{if($5 > hight) hight = $5}
{if($3 < lowest) lowest = $3}
{if($6 > ht) {ht = $6;user = $1}}
$6 > 500{over500[$0]=$1"--"$2}
END{
        print "---------------------------------------------------------"
        print "\t\tSUMARY"
        print "---------------------------------------------------------"
        printf "The campaign received a total of $" "%2.2f\n",total" for this quarter\."
        printf "The average donation for the 12 contributors was $" "%2.2f\n",average"\."
        print "The highest contribution was $"hight"."
        print "The lowest contribution was $"lowest"."
        print "The highest total contribution was $" ht " made by "user"."
        print "  ***THANKS " user"  ***"
        print "The following people donated over %500 to the campaign."
        print "They are eligible for the quarterly drawing!!"
        print "Listed are their names (sorted by last names) and phone numbers:"
        for (a in over500) print over500[a]

分享到:
评论

相关推荐

    grep,sed,awk命令实例大练习

    ### grep、sed、awk命令实例大练习 在Linux或Unix环境中,`grep`、`sed`和`awk`是三个非常强大的文本处理工具。通过掌握这些工具的基本用法及高级功能,用户可以高效地处理各种文本文件。下面将详细介绍如何使用...

    awk-sed高级练习题pdf

    ### awk & sed 高级练习题解析 #### sed 命令详解 1. **删除一个文件的每行中的第1个字符** ```shell sed 's/^.//g' /etc/passwd ``` - **解析**:`s/^.//g` 表示将每行开头(`^`)的第一个字符(`.`)替换为...

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

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

    awk练习案例及其知识点汇总

    -rwxr-xr-x@ 1 sanpangdan staff 489926 11 13 2022 awk实战案例精讲.pdf drwxr-xr-x@ 5 sanpangdan staff 160 11 13 2022 awk实战案例精讲:课程所用示例文件 -rwxr-xr-x@ 1 sanpangdan staff 236384 11 13 2022 ...

    awk实用程序源码.zip_awk源码_linux_linux awk 源码_makefile_实用程序

    在这个压缩包里,我们看到一系列的示例文件,如`Ex_6.001-6.054`到`Ex_6.193`,这些很可能是`awk`编程的练习或教程。每个文件可能代表一个特定的练习,涵盖了`awk`的不同功能和用法,例如模式匹配、条件语句、循环、...

    Linux实战awk详解

    Linux实战awk详解主要聚焦在如何利用awk这一强大的命令行工具处理文本流问题。Awk是Linux/unix系统中用于处理结构化文本数据的强大工具,它能够...通过实际操作和不断练习,awk将成为你Linux运维和数据分析的得力助手。

    SED与AWK 高清第三版

    通过实际的案例练习,可以更好地掌握这两个工具的使用。 这本书的第三版可能增加了更多实用技巧和最新的功能介绍,对于想要提升Linux运维技能的人来说是一份宝贵的资源。同时,书中可能涵盖了sed和awk在实际工作中...

    awk入门最好的资料

    **awk入门最好的资料** 在IT领域,awk是一个...通过阅读和练习这个文档中的内容,你将能够掌握awk的基础知识,为进一步学习高级特性和应用打下坚实基础。记得不断实践,让理论与实战相结合,才能真正成为awk的大师。

    Sed与awk第二版(中文高清版)

    读者在学习Sed和awk的过程中,应当合法合规地进行练习,确保不侵犯他人的知识产权。同时,读者还应具备一定的自我保护意识,对于书籍来源、内容的合法性应当进行适当的甄别和判断。在使用书籍中的知识进行技术操作时...

    awk脚本学习快速入门

    本资料包中的"awkѧϰ"和"awk学习"文件可能包含实战案例、练习题及解释,是学习awk的好资源。建议结合这些实例逐步实践,加深对awk的理解,提升文本处理技能。不过,请注意,如果资料存在质量问题,可以考虑寻找更新...

    awk学习资料最近整理的资料

    4. **内置变量**:awk有许多内置变量,如`NR`表示已读取的行数,`NF`表示当前行的字段数,`FS`定义字段分隔符,`OFS`定义输出字段分隔符等。 5. **BEGIN和END规则**:`BEGIN`规则在处理任何输入行之前执行,通常...

    sed和awk简明手册

    ### sed和awk简明手册知识点总结 #### 一、sed简介 - **基本概念**: - sed(stream editor)是一种非交互式的面向字符流的编辑器,它...- 实践是学习这两种工具的最佳方法,建议结合实际案例进行练习以加深理解。

    sed awk讲解资料全集

    4. **函数与变量**:了解sed和awk内置的函数,如sub()和gsub()(用于替换)以及awk的内置变量,如NF(字段数量)和NR(行号)。 5. **文件操作**:如何用sed和awk读写文件,以及进行文件比较和合并。 6. **实战案例*...

    awk手册,学习AWK一定要收藏

    ### AWK手册精要解析 #### 一、AWK简介 ...通过了解其基本概念和工作原理,结合实际操作练习,可以快速掌握AWK的核心技能,并将其应用于各种场景中。希望这篇指南能帮助你在AWK的学习之旅上更进一步。

    DOS版本的C语言文本处理 AWK 源程.zip_DosAWK_awk_dos awk

    DEMO.PRJ可能是演示或练习案例,让用户实践所学的知识。而www.pudn.com.txt可能是一个包含使用AWK处理的实际文本样本,用于配合教程进行实践操作。 学习DOS版的AWK,首先需要理解其基本语法,包括模式(Pattern)和...

    awk学习笔记.pdf

    AWK是一种编程语言,用于在Linux环境下对文本和数据进行处理和分析。它是许多UNIX系统中的标准工具,并且是文本处理的强大...通过适当的练习和实践,用户可以掌握AWK的各种高级功能,实现自动化处理日常数据的需求。

    awk promgramming&bash programming

    在提供的`awk programming.rar`文件中,可能包含了关于awk编程的教程、示例和练习,可以帮助你深入理解和掌握awk的使用技巧。 总结来说,`awk`和`bash`是Linux/Unix环境下强大的文本处理和脚本编程工具,它们的结合...

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

    "awk-master"这个文件名可能是指一个AWK项目的主目录,可能包含了示例脚本、练习、测试用例或者关于AWK的完整教程。通过研究这个目录中的内容,学习者可以逐步掌握AWK语言的核心概念,如模式匹配、内置变量、函数、...

Global site tag (gtag.js) - Google Analytics