$ 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命令实例大练习 在Linux或Unix环境中,`grep`、`sed`和`awk`是三个非常强大的文本处理工具。通过掌握这些工具的基本用法及高级功能,用户可以高效地处理各种文本文件。下面将详细介绍如何使用...
### awk & sed 高级练习题解析 #### sed 命令详解 1. **删除一个文件的每行中的第1个字符** ```shell sed 's/^.//g' /etc/passwd ``` - **解析**:`s/^.//g` 表示将每行开头(`^`)的第一个字符(`.`)替换为...
《Effective awk Programming, 4th Edition》是一本深入讲解awk编程技术的专业书籍,旨在帮助读者提升在文本处理和数据操作中的效率。awk是Unix/Linux环境中的一款强大工具,它专门用于处理结构化的文本数据,如日志...
-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 ...
在这个压缩包里,我们看到一系列的示例文件,如`Ex_6.001-6.054`到`Ex_6.193`,这些很可能是`awk`编程的练习或教程。每个文件可能代表一个特定的练习,涵盖了`awk`的不同功能和用法,例如模式匹配、条件语句、循环、...
Linux实战awk详解主要聚焦在如何利用awk这一强大的命令行工具处理文本流问题。Awk是Linux/unix系统中用于处理结构化文本数据的强大工具,它能够...通过实际操作和不断练习,awk将成为你Linux运维和数据分析的得力助手。
通过实际的案例练习,可以更好地掌握这两个工具的使用。 这本书的第三版可能增加了更多实用技巧和最新的功能介绍,对于想要提升Linux运维技能的人来说是一份宝贵的资源。同时,书中可能涵盖了sed和awk在实际工作中...
**awk入门最好的资料** 在IT领域,awk是一个...通过阅读和练习这个文档中的内容,你将能够掌握awk的基础知识,为进一步学习高级特性和应用打下坚实基础。记得不断实践,让理论与实战相结合,才能真正成为awk的大师。
读者在学习Sed和awk的过程中,应当合法合规地进行练习,确保不侵犯他人的知识产权。同时,读者还应具备一定的自我保护意识,对于书籍来源、内容的合法性应当进行适当的甄别和判断。在使用书籍中的知识进行技术操作时...
本资料包中的"awkѧϰ"和"awk学习"文件可能包含实战案例、练习题及解释,是学习awk的好资源。建议结合这些实例逐步实践,加深对awk的理解,提升文本处理技能。不过,请注意,如果资料存在质量问题,可以考虑寻找更新...
4. **内置变量**:awk有许多内置变量,如`NR`表示已读取的行数,`NF`表示当前行的字段数,`FS`定义字段分隔符,`OFS`定义输出字段分隔符等。 5. **BEGIN和END规则**:`BEGIN`规则在处理任何输入行之前执行,通常...
### sed和awk简明手册知识点总结 #### 一、sed简介 - **基本概念**: - sed(stream editor)是一种非交互式的面向字符流的编辑器,它...- 实践是学习这两种工具的最佳方法,建议结合实际案例进行练习以加深理解。
4. **函数与变量**:了解sed和awk内置的函数,如sub()和gsub()(用于替换)以及awk的内置变量,如NF(字段数量)和NR(行号)。 5. **文件操作**:如何用sed和awk读写文件,以及进行文件比较和合并。 6. **实战案例*...
### AWK手册精要解析 #### 一、AWK简介 ...通过了解其基本概念和工作原理,结合实际操作练习,可以快速掌握AWK的核心技能,并将其应用于各种场景中。希望这篇指南能帮助你在AWK的学习之旅上更进一步。
DEMO.PRJ可能是演示或练习案例,让用户实践所学的知识。而www.pudn.com.txt可能是一个包含使用AWK处理的实际文本样本,用于配合教程进行实践操作。 学习DOS版的AWK,首先需要理解其基本语法,包括模式(Pattern)和...
AWK是一种编程语言,用于在Linux环境下对文本和数据进行处理和分析。它是许多UNIX系统中的标准工具,并且是文本处理的强大...通过适当的练习和实践,用户可以掌握AWK的各种高级功能,实现自动化处理日常数据的需求。
在提供的`awk programming.rar`文件中,可能包含了关于awk编程的教程、示例和练习,可以帮助你深入理解和掌握awk的使用技巧。 总结来说,`awk`和`bash`是Linux/Unix环境下强大的文本处理和脚本编程工具,它们的结合...
"awk-master"这个文件名可能是指一个AWK项目的主目录,可能包含了示例脚本、练习、测试用例或者关于AWK的完整教程。通过研究这个目录中的内容,学习者可以逐步掌握AWK语言的核心概念,如模式匹配、内置变量、函数、...