基本信息
文件名称:《Linux应用实例教程》课件_讲义25awk3-修改脚本写文件.pptx
文件大小:65.17 KB
总页数:12 页
更新时间:2025-03-06
总字数:约1.74千字
文档摘要

S9、awk3-修改脚本写文件S9、awk3-修改脚本写文件

S9、awk3-修改脚本写文件1、打印文件stu中字段6大于90的行awk-F,{if($690)print$0}stu2、打印文件stu中包含字符串“专业软工”的行awk-F,{if($0!~/专业软工/)print$0}stu3、打印文件stu中不包含字符串“专业软工”和“专业电子”的行awk-F,{if($0!~/专业软工/$0!~/专业电子/)print$0}stu

S9、awk3-修改脚本写文件4、打印文件stu中字段6大于90或者字段10大于80的行awk-F,{if($690||$1080)print$0}stu

S9、awk3-修改脚本写文件5、将文件stu第6个域中的分数改为优、良、中、及格、不及格等级制awk-F,{if($690)$6=**优秀**;elseif($680)$6=**良好**;elseif($670)$6=**中等**;elseif($660)$6=**及格**;else$6=**不及格**;print$0}stu

S9、awk3-修改脚本写文件6、建立脚本文件pint.awk,打印包含字符串“int”的行的行号、域数、记录行内容、第1个域和最后一个域值脚本:#!/usr/bin/awk-f/int/{printNR,NF,$0,$1,$NF}命令:chmodu+xpint.awk./pint.awkc2.c或者awk-fpint.awkc2.c

S9、awk3-修改脚本写文件7、将文件stu每行单科成绩和总分保存到文件ststu中awk-F,{total=$6+$8+$10;print单科:,$6,$8,$10,总分:,totalststu}stu8、将stu、c2.c、abc.txt三个文件的名字和内容合并到文件f3中awk{printFILENAME,$0}stuc2.cabc.txtf3

S9、awk3-修改脚本写文件9、统计并输出文件c2.c中包含字符串“sum”的行及行号awk$0~/sum/{printx+=1,:,$0}END{print*******一共有,x,项******}c2.c10、输出文件stu每行单科成绩和总分awk-F,{total=$6+$8+$10;print单科:,$6,$8,$10,总分:,total}stu

S9、awk3-修改脚本写文件11、计算文件stu第6域的和,输出第6域及当前统计的部分和awk-F,BEGIN{total=0}{total+=$6;print$6,total=,total}END{printtotal}stu

S9、awk3-修改脚本写文件12、建立awk脚本文件cdis.awk,用来输出stu中每行的成绩脚本:#!/usr/bin/awk-fBEGIN{FS=,ORS=i=1k=6}{print第,i,个同学成绩:第1门=,$k,,第2门=,$(k+2)if(k+4==NF)print,第3门=,$(k+4)print\ni++}

S9、awk3-修改脚本写文件执行:chmodu+xcdis.awk./cdis.awkstu

S9、awk3-修改脚本写文件13、将脚本文件cdis.awk改写为pdis.awk,用来输出stu中每行的成绩脚本:#!/usr/bin/awk-fBEGIN{FS=,i=1k=6}{printf(第%d个同学成绩:第1门=%.1f,第2门=%.1f,i,$k,$(k+2))if(k+4==NF)printf(,第3门=%.1f,$(k+4))printf(\n)i++}

S9、awk3-修改脚本写文件执行:chmodu+xpdis.awk./pdis.awkstu