随笔分类 -  awk

摘要:[root@master ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 19G 2.2G 17G 12% / devtmpfs 898M 0 898M 0% /dev tmpfs 910M 0 910M 0% /dev/shm tmp 阅读全文
posted @ 2021-02-04 23:05 星火撩原 阅读(92) 评论(0) 推荐(0) 编辑
摘要:三元运算 还记的我们在学习awk的 "if..else" 结构时,举的例子吗?我们来回顾一下。 在centos6中,我们可以判断用户的UID是否小于500,如果用户的UID大于500,则用户为普通用户,如果用户的UID小于500,则用户为系统用户。 所以,我们可以通过awk的 "if...else结 阅读全文
posted @ 2020-12-30 14:10 星火撩原 阅读(96) 评论(0) 推荐(0) 编辑
摘要:算数函数 最常用的算数函数有rand函数、srand函数、int函数。 可以使用rand函数生成随机数,但是使用rand函数时,需要配合srand函数,否则rand函数返回的值将一直不变,示例如下。 [root@server01 ~]# awk 'BEGIN{print rand()}' 0.237 阅读全文
posted @ 2020-12-28 16:19 星火撩原 阅读(155) 评论(0) 推荐(0) 编辑
摘要:在awk中,直接为数组中的元素赋值即可,示例如下。 [root@server01 ~]# awk 'BEGIN{huluwa[0]="大娃";huluwa[1]="二娃";huluwa[2]="三娃";print huluwa[1]}' 二娃 为了方便示例,上例中使用了BEGIN模式,在BEGIN模 阅读全文
posted @ 2020-12-28 14:45 星火撩原 阅读(378) 评论(0) 推荐(0) 编辑
摘要:awk中的条件判断语句。 比如 "if" 比如 "if...else..." 比如 "if...else if...else..." 我们说过,这些语句都可以归类为"控制语句",但是这些并不是"控制语句"的全部,今天我们继续聊聊awk的"控制语句"。 今天的话题主要与"循环"有关,说到"循环",你一 阅读全文
posted @ 2020-12-28 12:15 星火撩原 阅读(61) 评论(0) 推荐(0) 编辑
摘要:回顾一个小例子,如下图所示。 [root@server01 ~]# cat test3 heep heeep heeeep heeeeeeep heeeeeeeeee [root@server01 ~]# awk '{print $0}' test3 heep heeep heeeep heeeee 阅读全文
posted @ 2020-12-28 11:31 星火撩原 阅读(70) 评论(0) 推荐(0) 编辑
摘要:正则模式 先说说什么是正则模式。 见名知义,"正则模式"肯定与"正则表达式"有关,所以,如果想要使用这种模式,则必须先学会在Linux中使用正则表达式,如果你对正则表达式还不是特别熟悉,可以参考博客中的系列文章:在Linux中使用正则表达式 前文中提到过,"模式"可以理解为"条件",当不指定模式时, 阅读全文
posted @ 2020-12-28 10:44 星火撩原 阅读(98) 评论(0) 推荐(0) 编辑
摘要:对于options(选项)而言,我们使用过-F选项,也使用过-v选项。 对于Action(动作)而言,我们使用过print与printf,之后的文章中,我们还会对Action进行总结。 对于Pattern(模式)而言,我们在刚开始学习awk时,就介绍了两种特殊模式,BEGIN模式和END模式,但是, 阅读全文
posted @ 2020-12-28 09:36 星火撩原 阅读(135) 评论(0) 推荐(0) 编辑
摘要:利用awk中的printf动作,即可对文本进行格式化输出,printf动作的用法与print命令的用法非常相似,只是有略微的不同而已,不过,我们还是从最简单的示例开始看起,首先对比一下print动作与printf动作的区别,示例如下 [root@server01 ~]# awk '{print $1 阅读全文
posted @ 2020-12-25 17:31 星火撩原 阅读(177) 评论(0) 推荐(0) 编辑
摘要:对于awk来说"变量"又分为"内置变量" 和 "自定义变量" , "输入分隔符FS"和"输出分隔符OFS"都属于内置变量。 内置变量就是awk预定义好的、内置在awk内部的变量,而自定义变量就是用户定义的变量。 我们先看看awk常用的一些内置变量,此处先大致列出其概念,只看概念并不容易理解其意思,不 阅读全文
posted @ 2020-12-25 17:05 星火撩原 阅读(669) 评论(0) 推荐(1) 编辑
摘要:当awk逐行处理文本的时候,以输入分隔符为准,将文本切成多个片段,默认使用空格,但是,如果一段文字中没有空格,我们可以指定以特定的文字或符号作为输入分割符,比如下图中的例子,我们指定使用"#"作为输入分隔符。 [root@server01 ~]# cat test abc#123#iuy#ddd 8 阅读全文
posted @ 2020-12-25 15:16 星火撩原 阅读(640) 评论(0) 推荐(0) 编辑
摘要:数组 awk数组特性: awk的数组是关联数组(即key/value方式的hash数据结构),索引下标可为数值(甚至是负数、小数等),也可为字符串 在内部,awk数组的索引全都是字符串,即使是数值索引在使用时内部也会转换成字符串 awk的数组元素的顺序和元素插入时的顺序很可能是不相同的 awk数组支 阅读全文
posted @ 2020-03-02 21:17 星火撩原 阅读(3334) 评论(0) 推荐(1) 编辑
摘要:break和continue break可退出for、while、do...while、switch语句。 continue可让for、while、do...while进入下一轮循环。 [root@docker-01 ~]# awk ' > BEGIN{ > for(i=0;i<10;i++){ > 阅读全文
posted @ 2020-03-02 20:51 星火撩原 阅读(1280) 评论(0) 推荐(0) 编辑
摘要:流程控制语句 注:awk中语句块没有作用域,都是全局变量。 if (condition) statement [ else statement ] expr1?expr2:expr3 while (condition) statement do statement while (condition) 阅读全文
posted @ 2020-03-02 20:31 星火撩原 阅读(910) 评论(0) 推荐(0) 编辑
摘要:awk布尔值 在awk中,没有像其它语言一样专门提供true、false这样的关键字。 但它的布尔值逻辑非常简单: 数值0表示布尔假 空字符串表示布尔假 其余所有均为布尔真 字符串"0"也是真,因为它是字符串 awk中,正则匹配也有返回值,匹配成功则返回1,匹配失败则返回0 awk中,所有的布尔运算 阅读全文
posted @ 2020-03-02 19:50 星火撩原 阅读(774) 评论(0) 推荐(0) 编辑
摘要:gawk支持的正则 . # 匹配任意字符,包括换行符 ^ $ [...] [^...] | + * ? () {m} {m,} {m,n} {,n} [:lower:] [:upper:] [:alpha:] [:digit:] [:alnum:] [:xdigit:] [:blank:] [:sp 阅读全文
posted @ 2020-03-02 16:20 星火撩原 阅读(288) 评论(0) 推荐(0) 编辑
摘要:数据类型 gawk有两种基本的数据类型:数值和字符串。在gawk 4.2.0版本中,还支持第三种基本的数据类型:正则表达式类型。 数据是什么类型在使用它的上下文中决定:在字符串操作环境下将转换为字符串,在数值操作环境下将转换为数值。这和自然语言中的一个词语、一个单词在不同句子内的不同语义是一样的。 阅读全文
posted @ 2020-03-02 16:12 星火撩原 阅读(452) 评论(0) 推荐(0) 编辑
摘要:awk变量 awk的变量是动态变量,在使用时声明。 所以awk变量有3种状态: 未声明状态:称为untyped类型 引用过但未赋值状态:unassigned类型 已赋值状态 引用未赋值的变量,其默认初始值为空字符串或数值0。 在awk中未声明的变量称为untyped,声明了但未赋值(只要引用了就声明 阅读全文
posted @ 2020-03-02 15:56 星火撩原 阅读(7575) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示