系统之家 - Windows操作系统&装机软件下载网站!

当前位置: 首页  >  教程资讯  >  Linux教程 linux awk高级应用实例

linux awk高级应用实例

时间:2024-03-25 16:40:53 来源: 人气:

今天看到unix shell 范例精解上有道awk的题目 做了以后拿来和大家分享下

处理前的文档:

Mike Harrington:(510) 548-1278:250:100:175
Christian Dobbins:(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 Stachelin:(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 Dobbs (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
Elibeth Stachel (916) 440-1763 175 75 300 550

SUMMARY
-----------------------------------------------------------------------------------
The campan received atotal of $6137 for this quarter
average donation for the 12 contributors was $511.417.
The highest contribution was $450.
The lowest contribution was $15.

代码如下:

BEGIN{FS=":";low1=300;low2=400;low3=500
    OFS="t"
    print "tt***CAMPAIGN 1998 CONTRIBUTIONS***n"
    print "---------------------------------------------------------------------------------n"
    print " NametttPHonetttJan |tFeb |tMAR |tTotal Donated"
    print "---------------------------------------------------------------------------------n"
    }
 
{tot=$3+$4+$5}
{Ttot+=tot}
{print $1,"t"$2"tt"$3" t"$4" t"$5" t"tot}
{avg=Ttot/12}
{high1=(high1>$3)?high1:$3}
{high2=(high1>$4)?high1:$4}
{high3=(high1>$5)?high1:$5}
{max12=(high1>high2)?high1:high2}
{max23=(high2>high3)?high2:high3}
{Max=(max12>max23)?max12:max23}
{low1=(low1<$3)?low1:$3}
{low2=(low1<$4)?low1:$4}
{low3=(low1<$5)?low1:$5}
{min12=(low1 

linux下2个检查tcp连接的命令
1检测web服务器的链接数量及状态:netstat-ant|awk'{print$5"t"$6}'|grep"::ffff:"|sed-e's/::ffff://'-e's/:[0-9]*//'|sort|uniq-c|sort-rn|head-10结果:122125.162.71.199TIME_WAIT9979.119.12

一个shell小案例(创建日期目录)
今天看到一个shell题目,正好拿来练练手需要在多个目录中(如:beijingshanghaitianjinguangzhou等等)创建子目录(以年份命名),然后进入子目录,新建目录并

Linux中scp命令获取远程文件的方法
一、scp是什么?scp是securecopy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传

教程资讯

Linux教程排行

系统教程

系统主题