热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

每天三分钟搞定linuxshell脚本(50)gawk来了!!!gawk中使用分支语句,while和for语句

gawk中使用分支语句,while和for语句1gawk中使用分支语句gawk中可以使用if-else这样的分支语句,其语法与C语言的语法相同,比如data5的内容为:100m

gawk中使用分支语句,while和for语句

在这里插入图片描述


1 gawk中使用分支语句

gawk中可以使用if-else这样的分支语句,其语法与C语言的语法相同,比如data5的内容为:

100 madashuai xiaozhang
200 fandebiao chuzi
300 yufugui cunzhang

输入:

gawk '{if ($1 ==300){x=$1;x=x*x;print x}}' data5

运行后结果为:

90000

当然,gawk中也可以使用else ifelse语句,同样和C语言的语法相同,输入:

gawk '{if ($1==100) {print $1}else if($1 ==200 ){print $2} else {print $3}}' data5

运行后结果为:

100
fandebiao
cunzhang

2 gawk中使用while语句

gawk中可以使用while循环,语法与C语言相同,比如data6的内容如下:

1 2 3 4
5 6 7 8
9 10 -3 -99

输入:

gawk '{sum=0;i=1;while (i<=4){sum+=$i;i++;}avg=sum/3;print "average:",avg}' data6

运行后结果为:

average: 3.33333
average: 8.66667
average: -27.6667

上面的命令是把每一行的四个数字求和除以3然后打印出来。同时,gawk的while循环中也可以使用break和continue,输入

gawk '{sum=0;i=1;while (i<=4){sum+=$i;if (i==2){break}i++;}avg=sum/3;print "average:",avg}' data6

运行后结果为:

average: 1
average: 3.66667
average: 6.33333

3 gawk中使用for语句
gawk中使用for语句跟C语言相同,输入的data6文件内容为:

1 2 3 4
5 6 7 8
9 10 -3 -99

输入如下命令:

gawk '{sum=0;for (i=1;i<=4;i++){sum+=$i;}avg=sum/3;print "average:",avg}' data6

运行后结果为:

average: 3.33333
average: 8.66667
average: -27.6667

推荐阅读
  • 获取原始语音系统图使用matlab生成一个测试用的单频信号,1KHz,1Vrmsclcclearall;closeall;f1000;%定义信号频 ... [详细]
  • Linux提权之suid篇
    Linux提权之suid篇不知攻,焉知防一个在安服路上摸索的大三生,记录平时学习笔记suid前言:1.只有可以执行的二进制程序文件才 ... [详细]
  • #!usrbinkshPATHusrbin:bin:usrsbinexportPATHtime$(date%F)rq$(perl-eusePOSIXqw(strftime);pr ... [详细]
  • Java程序员必会的40个Linux命令!
    你知道的越多,不知道的就越多,业余的像一棵小草!你来,我们一起精进!你不来,我和你的竞争对手一起 ... [详细]
  • 参加我们的第七届年度调查。有些来了又去了,但是今天有数百种Linux发行版运行良好。发行版,程序包管理器和桌面的结合为Linux用户创建了无数的定制环境。尽管存在一些共性,但我们也 ... [详细]
  • etc杂七杂八的配置文件etc不是什么缩写,是andsoon(等等)的意思来源于法语的etcetera翻译成中文就是等等的意思.至于为什么在etc下面存放配置文件& ... [详细]
  • 开发笔记:Python之父重回决策层
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之父重回决策层相关的知识,希望对你有一定的参考价值。在GuidovanRossum(吉多· ... [详细]
  • 编译原理c语言词法分析器,用C语言实现一个真正的词法分析器
    词法分析,是编译器的第一个模块,也是最简单的模块。最简单,指的是相对于编译器这种大型程序而言,与一般的代码相比还是有点复杂的 ... [详细]
  • 需求:安装deb包,设置程序安装后启动,不需要root权限启动程序|不能用root权限启动其他开机启动选项方法:root临时降低权限secUser`whoami| ... [详细]
  • 一、如果使用默认的1521端口,让实例自动注册到该监听上,那么local_listener无需设置,listener.ora文件按照正常方 ... [详细]
  • 一、域名解析记录说明记录类型A:用来指定域名的IPv4地址(如:8.8.8.8),如果需要将域名指向一个IP ... [详细]
  • Lunix历史及如何学习
    1.Lunix是什么1.1Lunix是操作系统还是应用程序Lunix是一套操作系统,它提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, ... [详细]
  • Shell脚本统计文件行数转自http:www.jb51.netarticle61943.htm示例:row_count.sh文件awk{printNR}row_co ... [详细]
  • shell命令四剑客1.grepUnix中用于文本搜索的工具,它能够接受正则表达式和通配符。也是日常开发调试中用的最多的。用于处理每行的文本grep匹配文本通配符 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
author-avatar
冷漠自逍遥2602897565
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有