栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Shell脚本,awk编程语言,awk科普,awk语法,风格,awk的print功能,列数$num

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Shell脚本,awk编程语言,awk科普,awk语法,风格,awk的print功能,列数$num

Shell脚本,awk编程语言,awk科普,awk特点和作用

O、介绍awk
1、基于模式匹配检查输入文本,逐行处理并输出
2、通常用于在shell脚本中,获取指定的数据
3、单独使用时,可以对文本数据做统计

一、awk不同与sed和grep的地方
1、grep的作用是从文件中过滤并显示出指定内容的内容行。
2、sed除了可以从文件中过滤出指定内容的内容行,还能对文件的行数据进行非交互式编辑和其他操作。
3、awk用于对指定文件的数据进行分列,区别与以行作为数据单位,awk可以将内容按照规则分列,并对逐列的数据进行非交互式编辑和其他操作。

二、awk语法

1、前置命令 | awk [选项] ‘[条件]{指令}’
前置命令的执行结果管道给awk

2、awk [选项] ‘[条件]{指令}’文件
使用awk逐行遍历指定文件中的内容并进行特定处理

三、awk风格
类似于编程语言,具有编程语言的特定,例如:
1、多条指令语句可以用分号;分割
2、支持if,for判断
3、变量必须使用双引号,而不是Linux系统下的单引号,双引号,反引号三个

四、awk的print打印功能
1、awk ‘{print}’ dir
打印文件中的列内容,从第一行开始所有列,到最后一行的所有列。

2、awk ‘{print $1,$3,$2}’ dir
打印文件中的第1列,第3列,第2列,默认以空格或tab划分,如果是打印$0则表示打印所有列,就是完整行

3、awk -F: ‘{print $1,$3}’ dir
-F可以指定分隔符,默认分隔符为空格和tab键,分隔符不会作为打印内容输出。

4、awk ‘{print “value1:”,$1,“value2:”,$2}’ dir
需要打印的常量需要用引号,print后面的打印内容用逗号隔开时,对应的都好会在打印时变成空格,没有逗号的内容中间则不会有空格。

五、awk的内置变量,NF,NR有特殊含义,可直接使用
1、$n 指定分割的第n列字段,$1表示第一列
2、$0 整行,所有列

3、NF 记录当前处理行的分割列数,用法:
awk ‘{print NF}’ dir
打印每一行的列数

awk ‘{print $NF}’ dir
打印每一行的最后一列,行的列数对应的列就是最后一列。

支持通过±运算得出的列数,比如:
awk ‘{print $(NF-2)}’ dir
就是打印倒数第三列

4、NR 记录当前已读入行的数量,行号
awk ‘{print NR}’ dir

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/730097.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号