随笔分类 - AWK从入门到放弃
摘要:参考:http://www.zsythink.net/archives/2159 三元运算 还记的我们在学习awk的 "if..else" 结构时,举的例子吗?我们来回顾一下。 在centos7中,我们可以判断用户的UID是否小于1000,如果用户的UID大于1000,则用户为普通用户,如果用户的U
阅读全文
摘要:在awk中,可以自定义函数,也有内置的函数,今天我们就来总结一些常用的内置函数。 awk的内置函数大致可以分类为算数函数、字符串函数、时间函数、其他函数等 算数函数 最常用的算数函数有rand函数、srand函数、int函数。 可以使用rand函数生成随机数,但是使用rand函数时,需要配合sran
阅读全文
摘要:注:在阅读这篇文章之前,最好已经了解了一些开发的基本语法,比如,for循环、数组的基本使用 等,否则在阅读时 有可能遇到障碍。 前文中提及过,awk其实可以算作一门脚本语言,因为它包含了一个脚本语言的各种语法结构,比如条件判断语句,比如循环语句,那么,awk中能否使用"数组"呢?必须能啊,今天我们就
阅读全文
摘要:前文中,我们介绍了awk中的条件判断语句。 比如 "if" 比如 "if...else..." 比如 "if...else if...else..." 我们说过,这些语句都可以归类为"控制语句",但是这些并不是"控制语句"的全部,今天我们继续聊聊awk的"控制语句"。 今天的话题主要与"循环"有关,
阅读全文
摘要:在前文中,我们已经使用过了awk的选项、模式 以及 动作。 这篇文章中,我们再来聊聊动作。 不知从何说起,我们还是从之前的示例开始聊吧,回顾一个小例子,如下图所示。 如上图所示,红线标注部分就是awk命令中的"动作",我想你应该已经非常熟悉了。 其实,我们可以把上述"动作"分解,拆开成两部分去理解,
阅读全文
摘要:在前文中,我们已经认识了awk的模式,而且,我们已经介绍了awk中的3中模式 1、空模式 2、关系运算模式 3、BEGIN/END模式 那么今天,我们就来介绍一下awk的另外两种常用模式,正则模式与行范围模式,别着急,我们一个一个慢慢聊。 正则模式 先说说什么是正则模式。 见名知义,"正则模式"肯定
阅读全文
摘要:我们之前一直在提,awk的使用语法如下(我想你已经很熟悉了): awk [options] 'Pattern {Action}' file1 file2 ··· 对于options(选项)而言,我们使用过-F选项,也使用过-v选项。 对于Action(动作)而言,我们使用过print与printf,
阅读全文
摘要:之前的文章举过很多例子,我们也体验到了awk的格式化能力,但是我们的体验并不全面,所以,现在,我们来更加深刻的了解一下awk的格式化能力,在前文的举例中,我们在使用awk时,通常使用print 对文本进行输出,但是动作print 只能实现简单的文本输出功能,并不能对文本格式进行改变,如果想要改变文本
阅读全文
摘要:如果你是一个使用过C语言的程序员,那么你一定会很容易理解printf命令,printf命令模仿了C语言中printf( )函数。 即使你没有用过C语言和printf()函数,看完这篇文章以后,你也会很快的掌握printf命令的用法。 printf命令的主要作用就是输出文本,不不不,这样说并不准确,应
阅读全文
摘要:在阅读这篇文章之前,最好先阅读之前的文章,以之前的知识点作为基础,再看这篇文章会容易理解很多。 之前的文章在使用到"输入分隔符"和"输出分隔符"的时候,我们都提到了一个名词:"变量"。 这篇文章我们就来详细的总结一下awk中的变量,我们会先对概念进行描述,如果概念中有不明白的地方,不要着急,对应其示
阅读全文
摘要:在前一篇文章中我们略微提到过"分隔符",但是并没有细说,那么我们今天就聊聊什么是分隔符,awk有哪些分隔符,awk的默认分割符是空格,但是,这样描述并不精确,因为,awk的分隔符还分为两种,"输入分隔符" 和 "输出分隔符" 。 此处我们先将分隔符的概念列出,看不懂没关系,我们会一一进行举例,到时自
阅读全文
摘要:awk是一个报告生成器,它拥有强大的文本格式化的能力,这就是专业的说法。 你可能不理解所谓的报告生成器中的"报告"是什么,你可以把"报告"理解为"报表"或者"表格",也就是说,我们可以利用awk命令,将一些文本整理成我们想要的样子,比如把一些文本整理成"表"的样子,然后再展示出来,刚才概念中提到的"
阅读全文