文章目录

这个是我自己写的 全部关于 awk学习的目录导航 ,感兴趣的可以看看。


首先,大家都知道 if 条件判断句 吧,这个就算不知道 也很好理解吧:无非就是条件成立则执行对应的代码、条件不成立则不执行!

在 awk 中,我们也是可以搭配 if条件判断句 来使用:

千万要注意格式!!!!非常重要!!!!

在编程语言中,if 还有 “if…else…” 或 “if…else if…else” 这样的语法,当然 awk 中也有这样的用法:

首先看一下他们的语法吧:

1、这是 “if…else…” 的语法
 
if (条件)
{
语句1;
语句2;

}
else
{
语句1;
语句2;

}
 
 
2、这是 “if…else if…else” 的语法:
 
if (条件1)
{
语句1;
语句2;

}
else if(条件2)
{
语句1;
语句2;

}
else
{
语句1;
语句2;

}

举例:关于 “if…else…”
这个语法的意思就是:if 条件匹配则执行…反正执行…

然后结合一下前面学过的 “格式化输出” 哈哈哈哈 学以致用嘛!
举例:关于 “if…else if…else”

这里本来是打算用截图的,但是字太小了,不方便大家查看,这里就使用代码块了:

root@zhengzelin:~# 首先 你要知道 “if...else if...” 这个语法代表什么意思! 这里面包括几个条件?我们来看一个例子:root@zhengzelin:~# printf "%-10s\t%-10s\n" 姓名 年龄 张三 10 李四 20 王五 80 > aaa
root@zhengzelin:~# cat aaa
姓名      年龄
张三      10
李四      20
王五      80        root@zhengzelin:~# 使用 格式化 输出 到一个文件中 ,作为我们使用 if 语法的例子;
说太多不如举一个例子,这样更加方便查看和理解:root@zhengzelin:~# awk 'BEGIN{FS="\t"} {if($2<=18) {printf "%-10s\t%-10s\n",$1," 是未成年"} else if($2>18 && $2<=60) {printf "%-10s\t%-10s\n",$1," 是成年人"} else{printf "%-10s\t%-10s\n",$1," 是老年人"}}' aaa
姓名           是老年人
张三           是未成年
李四           是成年人
王五           是老年人     root@zhengzelin:~# 但是,你看这个输出结果,虽然是格式化的,但是第一排是什么鬼?姓名是老年人?这时候我们需要使用 NR 内置变量了:root@zhengzelin:~# awk 'BEGIN{FS="\t"} NR!=1 {if($2<=18) {printf "%-10s\t%-10s\n",$1," 是未成年"} else if($2>18 && $2<=60) {printf "%-10s\t%-10s\n",$1," 是成年人"} else{printf "%-10s\t%-10s\n",$1," 是老年人"}}' aaa
张三           是未成年
李四           是成年人
王五           是老年人     如果你不懂 printf 格式化输出 或者 NR 等内置变量,建议您阅读前面的文章呢!
本文章题目开头有 awk 学习导航,学习应该脚踏实地 一步一步来!

虽然这样看的也不是很方便,但是最起码比那个图片要舒服!

然后我再结合上篇学的 next 的用法:

        使用 next 可以加快 脚本的执行速度!虽然结果出来了 ,但是 我也是对 next 理解的不是很清楚,如果哪位大佬有自己的见解,可以教一下我吗?

上一篇:awk 中 next 的用法
下一篇:awk 中的 循环语句:for、while…跳出循环:continue、break

关于awk 中如何使用 if条件判断句相关推荐

  1. 《编程珠玑(续)(修订版)》—第2章2.1节Awk中的关联数组

    本节书摘来自异步社区<编程珠玑(续)(修订版)>一书中的第2章,第2.1节Awk中的关联数组,作者[美]Jon Bentley,更多章节内容可以访问云栖社区"异步社区" ...

  2. awk(1) awk中的函数

    awk 中的函数 1.字符串 1.1 index(原字符串,子字符串) 如果子字符串在原字符串中第一次出现的位置,如果不存在返回0 1.2 length(字符串)   返回字符串的长度 1.3  ma ...

  3. R语言ggplot2可视化:通过在element_text函数中设置ifelse判断条件自定义标签文本的显示格式:例如、粗体、斜体等

    R语言ggplot2可视化:通过在element_text函数中设置ifelse判断条件自定义标签文本的显示格式:例如.粗体.斜体等 目录

  4. jpa中使用Query判断条件查询

    jpa中使用Query判断条件查询 @Query(value = " select m.* from mining_area as m " +" where 1 = 1& ...

  5. 关于在DataTable中执行DataTable.Select(条件)返回DataTable的解决方法

    在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地被改动,又没有写回数据库(可能还要作其他 ...

  6. Mybatis-Plus实战中的几个条件构造器Wrapper用法

    Mybatis-Plus实战中的几个条件构造器Wrapper用法 其实Wrapper有很多其他的方法,组合起来也是殊途同归,大家可以自己点开源码去查看一些方法的使用说明 @Testvoid conte ...

  7. 转在同一个sql语句中如何写不同条件的count数量

    今天在做Portal中的Dashboard展现的时候,需要对多个统计字段做展现,根据我现在的掌握水平,我只能在sql调用构建器中实现一种sql语 句返回的resultSet做展现.没有办法,只能从数据 ...

  8. Awk中调用shell命令

    Awk中调用shell命令 需求 在awk中,有时候需要调用linux系统中命令,如计算字符串的MD5值,并保存下来. 方法参考 call a shell command from inside aw ...

  9. 找到二叉树中符合搜索二叉树条件的最大拓扑结构

    找到二叉树中符合搜索二叉树条件的最大拓扑结构 给定一棵二叉树的头节点 head,已知所有节点的值都不一样,返回其中最大的.且符合搜索二叉树 条件的拓扑结构的节点数.这里的拓扑结构是指,你可以在二叉树中 ...

  10. awk 分隔符 多个空格_如何在awk中指定多个分隔符

    如果需要进行操作和维护或进行操作和维护开发 -> awk的-F参数可以指定一个新的分隔符,有时您可能需要指定多个分隔符,例如以下内容 [root@N1 ~]# netstat -an | gre ...

最新文章

  1. matplotlib-pie-绘制饼状图
  2. 这里有8个流行的Python可视化工具包,你喜欢哪个?
  3. 【Codeforces - 864D】Make a Permutation!(贪心,字典序)
  4. c 语言 while break,26 C 语言中的break和continue - C 语言基础教程
  5. 日常问题——解决mac下 ssh: connect to host localhost port 22: Connection refused
  6. 总结几点Quartz的经验
  7. 80-200-040-原理-MySQL服务端架构
  8. python time 时间差,python如何计算时间差
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的宠物寻回系统
  10. Python入门学习笔记(7)
  11. Pycharm远程调试:变量内容加载过慢或不能加载
  12. IDEA java 中文乱码解决方法
  13. JAVA开发环境搭建
  14. setw()使用方法
  15. MAMP配置虚拟主机
  16. Android Studio 修改 Java 语言版本到 1.8
  17. 值得推荐的MAC软件下载软件的网站
  18. 考研视频有点难,以后继续早上锻炼
  19. 随机生成26个英文字母
  20. a16z合伙人Chris Dixon:DeFi和NFT之后的下一波区块链应用浪潮

热门文章

  1. 我国使用计算机增长率表格,excel表格如何计算数据的增长率-怎么用Excel计算年均复合增长率?...
  2. 【操作系统】GPT和MBR分区的区别
  3. 无刷舵机和普通舵机,数字舵机还有模拟舵机的区别
  4. mysql 速度评测_[评测]低配环境下,PostgresQL和Mysql读写性能简单对比(欢迎大家提出Mysql优化意见)...
  5. 计算机打印状态错误,打印机状态错误怎么办 打印机状态错误解决方法【图文】...
  6. ALV 单元格控制参数LVC_S_STYL排序问题
  7. 一文带你揭秘并实现“大数据杀熟”背后的逻辑!
  8. 贪心科技SkipGram 2020.4.3笔记
  9. 网易邮箱发送失败服务器连接失败,网易邮件发送不出去MI:SFQ错误
  10. 调试铁通与联通专线遇到的问题