问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux入门系列——awk命令详解

发布网友 发布时间:2022-10-05 20:00

我来回答

2个回答

懂视网 时间:2023-02-13 02:43

awk命令是linux下的一个文件管理命令,通常是用于文本和数据进行处理的编程语言,awk命令主要有两个功能,具体介绍如下:

1、awk命令可以在linux/unix下对文本和数据进行处理;

2、awk命令支持用户自定义函数和动态正则表达式。

参考范例:

比如打印每一行的第二和第三个字段,具体命令为:

[root@linuxcool ~]# awk '{ print $2,$3 }' file 

awk命令的具体语法格式为awk [参数] [文件]。

参数:

-F 指定输入时用到的字段分隔符 

-v 自定义变量 

-f 从脚本中读取awk命令 

-m 对val值设置内在限制 


以上就是小编的分享了,希望能够帮助到大家。



热心网友 时间:2023-02-12 23:51

awk是一个强大的文本分析工具,与grep、sed相比,awk在对数据分析并生成报告时,显得有很大的优势。

awk有三个不同的版本:awk、nawk和gawk,在没有做特殊说时的时候默认的就是gawk,gawk是awk的GNU版本。

其中command是真正的awk命令,-F表示域的分隔符,是个可选项。Filename是等待处理的文件

将所有的awk命令写入到一个文件,并使用该文件有X权限,然后awk命令解释器作为脚本的首行,也就是说可以把脚本最开始的 #!/bin/bash 换成 #!/bin/awk

最后直接执行这个脚本文件就行了。

-f 指定要加载的awk脚本,是一个文件。Filename是等待处理的文件

awk的工作流程是这样的:读入一行后(最后面带有” ”的),就按-F指定的分隔符来将该行划分成N个区域,$0表示所有的区域,$1表示第一个域,$2表示第二个域,依此类推,$n表示第n个域。

总结:awk先执行BEGIN内的命令,然后再读入文件中的行,接着就是按照指定的分隔符将该行分成N个区域,然后再来执行模式所对应的动作action。然后,再来读入第二行。。再重复执行action,直到所有的行都处理完成。最后再执行END中的命令。

注意:' // '之间是支持正则表达式的,如果此处只有pattern,而没有action,那么awk默认会把匹配到的行打印出来。

awk中的print还可以使用C语言中的printf来替代。在输出格式比较复杂的时候使用printf函数会比print函数要更直观一些,如下:


还可以使用-v key=value来自定义变量。如下:

awk中的条件语句是从C中借鉴过来的

语法:if (condition) {then-body} else {else-body}

例如使用awk来统计某个目录下的普通文件的大小,不包括子目录的,并过滤掉目录。

循环语句也和C中的一样,支持while、do/while、for、continue、break等关键字。

break和continue常用于循环中;

在awk中,数组的下标可以是数字或字母。一般awk中的数组的作用是从记录中收集信息,用于计算总和、统计单词等。

在awk中要删除一个元素的时候使用 delete array[index]

更多请参见awk官方文档[http://www.gnu.org/software/gawk/manual/gawk.html]

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
vivo y3t手机能拨打和接听电话,不能收发短信 vivoy3t手机突然接收不到短信 vivoy3短信消息怎么提醒 无奈什么意思是什么 怎样让炒出的丝瓜不发黑? 钟表是以什么计量时间 钟表以( )、()、( )计量时间。 钟表以( )、()、( )单位计量时间 紫荆花开放时间 《青春 须臾成殇》渭伊的txt全集下载地址 治疗糖尿病肾病,有什么需要注意的? 防治糖尿病肾病的6项措施,每一位糖友都应该知道 得了糖尿病肾病怎么办?除了抓紧治疗,还要做好这5件事 百吃不厌—不过桥米线? 怎样克服情绪不稳定? 入秋后,给娃多吃这4种食物,补铁补钙补VC,让娃长高又长肉 入秋后,记得给孩子吃6种“白色食物”,滋阴润燥,平安度过秋天 立秋后孩子吃什么好 立秋后孩子吃哪些食物比较好 北宋初期,铁钱是什么概念? 庆历重宝铁钱贵还是铜钱贵 求助iphone怎么捣鼓铃声和音乐 梦见的是一只特别可爱的白猫,到我的床上,然后跑到我的脚边,就睡着了 梦见一只白猫很友好的向我和同事示爱、添我们的脚,然后我们拼命的逃跑,跑进了一间赌坊。预示着什么呢? 3000v等于多少kv 电线上面写着3000V是什么。 3000V+高压电每小时实际用电多少度? 3000v80a电池是多大? 三千V电缆,绝缘厚度要提高多少? 3000V等于多少千伏 天之蓝绵柔之旅礼盒要钱吗 Linux三剑客awk命令篇二:命令操作符 关于成长很残酷的句子 表达成长很残酷的句子 笔记本电脑的摄像头不能移动的吗 学校安全生产教育工作总结 我会想你歌词 我会想你歌词是什么 I'll Miss You 歌词 i'll miss you的歌词 女的唱的歌词里面有一段 月光,我会想你 是什么歌? 月经来了能吃桃子吗 红米note主题打不开 为什么红米notewindows10主题显示不出来 辛酰羟肟酸对皮肤的作用是什么? 羟肟酸的化学性质 水杨肟酸与水杨酸是否相同 羟圬酸的制备方法 跪求! 羟肟酸的介绍 羟肟酸怎么念 杭州买小户型房子一般去哪里了解房价信息比较靠谱,哪些地段比较便宜 江南大学的研究生学院 设计学院和数字传媒学院哪个好 关于成长磨练的好句好段