awk用法三

6、结构化控制语句

6.1 if语句

格式:if(条件) {body} else {else body}

实例1:判断/etc/passwd文件中的UID如果大于500则显示为“common user”,否则显示为“admin user”:

6.2 while循环

格式:while(条件){body}

条件为真时进入循环体。

实例2:打印出/etc/inittab文件中每行中为偶数个的字符串:

实例3:找出/etc/inittab文件中长度大于等于6个字符的字符串:

6.3 do-while循环

格式:do {body}while (条件)

先进入循环体执行一次,再判断条件。

将实例3用do-while改写如下:

6.4 for循环

格式:for (变量赋值;条件;条件修正){body}

将实例2和实例3分别使用for循环修改如下:

另外,for循环可用来遍历数组元素,其格式语法如下:

for (i in 数组名) {for body}

6.5 循环控制

(1)break

结束整个循环体。

(2)continue

结束本次循环,进入下一次循环。

以上两个命令的用法与在shell脚本中的用法相同。

6.6 next

提前结束对本行的处理,进入下一行的处理。

实例4:显示/etc/passwd文件中行号为奇数的用户名:

7、数组

7.1 定义数组变量

array[index]=element

inddex:可以使用任意字符串,如果某数组元素事先不存在,那么在引用时,awk会自动创建此元素并将其初始化为空串;因此要判断其数组是否存在某元素,可以使用“index in array”这种格式。

7.2 遍历数组变量

要遍历数组中的每一个元素,需要使用如下特殊结构:

for (var in array) {for body}

var会遍历array的索引。

实例5:统计netstat -ant显示的结果中每种状态的个数:

7.3 删除数组变量

delete array[index]

时间: 2024-08-23 17:09:58

awk用法三的相关文章

awk用法(三)

awk用法(三) 知识点一: NR行数,NF段数 1.#awk -F ':' 'NR==10' 1.txt [行数是第10行的] 2.#awk -F ':' 'NR==10 {print $1,$7}' 1.txt  [只打印出第10行中的第1段和第七段] 3.#awk -F ':' '{if(NR==10) print $1,$7}' 1.txt #awk -F ':' 'OFS="#" {if(NR==10) print $1,$7}' 1.txt 以上三点截图如下: 4.#awk

awk用法(二)

awk用法(二) 知识点一: 条件操作符,可以进行逻辑判断,举个栗子: #awk -F ':' '$1=="daemon"' 1.txt[daemon的双引号必须要加!] 知识点二: #awk -F ':' '$1=="root" || $6~'/sbin/'' 1.txt 其中,||表示或者,上述命令表达的内容是:打印出第一段是root的,或者第六段包含sbin的行. 知识点三: #awk -F ':' '$1=="root" &&am

awk用法(一)

awk用法(一) awk跟以前的sed命令,grep命令比较,它的优势在于它能够实现更多的功能. 比如awk可以实现分段,sed,grep是没法实现的 可以根据一个分隔符,将其分为一小段一小段,通过段来匹配. 知识点一: awk -F ':' '{print $3,$4}' 1.txt 显示指定段的匹配== awk -F: '{print $3,$4}' 1.txt -F ':'指定冒号分隔符,$3指定第三段 $3,$4中间的逗号,实际显示的是空格分割.[比较下面截图可看出] 知识点二: awk

1.12-linux三剑客之awk用法详解

1.12 linux三剑客之awk用法详解 内容: 1. awk执行过程 2. awk命令格式 3. awk用法 4. awk数组 第1章 awk执行过程 一直读取到文件的最后一行 第2章 awk '找谁{干啥}' '模式{动作}' 模式 pattern   动作  action 第3章 awk中什么可以作为模式 正则表达式 比较表达式    NR>10 范围模式 特殊模式BEGIN{}和END{} awk支持正则中的特殊符号 3.1 正则表达式 测试文件/server/files/reg.tx

awk用法小结(作者总结)

http://www.chinaunix.net/old_jh/24/691456.html http://wenku.baidu.com/view/ebac4fc658f5f61fb736664d.html awk 用法:awk ' pattern {action} ' 变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止

awk(三)函数

函数是一个独立计算的过程,它接收一些参数并返回一些值 awk有很多内置函数,分为:算术函数和字符串函数 算术函数 cos(x) 返回x的余弦(x为弧度) exp(x) 返回e的x次幂 int(x) 返回x的整数部分的值 log(x) 返回x的自然对数(以e为底) sin(x) 返回x的正弦(x为弧度) sqrt(x) 返回x atan2(y,x) 返回y/x的反正切,其值在-180度到180度之间 rand() 返回随机数r,其中0<=r<1 srand(x) 建立rand()的新的种子数,如

CoreData用法三: NSPredicate在CoreData中的使用

NSPredicate在CoreData中常用作查询使用,相当于sql语句中的where查询子句. 最常用的方法为: NSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...]; 比如我们要查询student表中name="jjy"的信息,我们可以这样去用NSPredicate NSEntityDescription * emEty = [NSEntityDescription entityForName:

AWK用法入门详解

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上 AWK

linux awk用法(主要为命令行)

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上 AWK