awk命令_awk是什么命令_qq_52825616的博客-程序员宅基地

技术标签: 运维  linux  

目录

一、awk命令的定义

1、awk的命令原理

2、awk的命令格式

3、awk的内建变量

二、awk命令的运用

1、打印磁盘使用情况

2、提取ip和mac地址

3、根据列分割符提取

4、使用BEGIN输出包含指定字符的行并统计有多行


一、awk命令的定义

1、awk的命令原理

逐行读取文本,默认以空格或tab键为分割符进行分割,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。

sed命令常用于一整行的整理,而awk命令比较倾向于将一行分成多个“字段”然后再进行处理。

awk信息的读取也是整行读取的,执行结果可以通过print的功能将字段数据打印显示。在使用awk命令的工程中,可以使用逻辑操作符,"&&" 表示"与"、"||"表示"或"、"!"表示"非",还可以进行简单的数学运算。

2、awk的命令格式

awk 选项  '模式或条件 {操作}' 文件1 或 文件 2

awk -f  脚本文件    文件1  文件 2

3、awk的内建变量

(1)FS

列分隔符。指定每行文本字段的分隔符,默认为空格和制表位。与"-F"作用相同。

(2)NF

当前处理行的字段个数

(3)NR

当前处理行的行号

(4)$0

当前处理行的整行内容

(5)$n

当前处理行的第n个字段

(6)FILENAME

被处理的文件名

(7)RS

行分隔符。awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录,以进行处理。预设值是’\n'

二、awk命令的运用

1、打印磁盘使用情况

[root@localhost ~]# df |awk '{print $5}'
已用%
26%
0%
0%
1%
0%
19%
1%
0%

2、提取ip地址和mac地址

(1)提取ip地址

[root@localhost ~]# ifconfig|sed -n '2p'|awk '{print $2}'
192.168.222.100

(2) 提取mac地址

[root@localhost ~]# ifconfig|sed -n '3p'|awk '{print $2}'
fe80::aa6c:cf48:3e30:55a9

3、根据列分隔符提取

FS∶ 列分割符提取列

使用分隔符过滤出root用户和它使用的shell

NR

当前处理的行的行号

查看用户zs的行号

[root@localhost ~]# awk  -F":" '/^zs/ {print $1,NR}' /etc/passwd
zs 41

 

4、使用BEGIN输出包含指定字符的行并统计有多行 

BEGIN模式表示,在处理指定的文本之前,需要先执行BEGIN模式中指定的动作;

awk再处理指定的文本,之后再执行END模式中指定的动作;

END{ } 语句块中,往往会放入打印结果等语句。

[root@localhost ~]# awk 'BEGIN {x=0};/\/bin\/bash$/;{x++};END{print x}' /etc/passwd
root:x:0:0:root:/root:/bin/bash
zs:x:1000:1000:zs:/home/zs:/bin/bash
41

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_52825616/article/details/124328843

智能推荐

java中rs怎么用_如何在Java SE环境中部署JAX-RS应用程序?_涵之相约的博客-程序员宅基地

要在Java SE环境中部署JAX-RS应用程序,可以使用RuntimeDelegate和JAX-RS实现支持的HTTP服务器.不需要servlet容器.In a Java SE environment a configured instance of an endpoint class can be obtained using the createEndpoint method of Runt...

spring实战-Spring-security实现用户权限认证登录_乔布斯基的博客-程序员宅基地

第八篇:Spring-security实现用户权限认证登录spring-security原本是Acegi Security组件,该组件是一个强大的安全框架,但是使用方式很繁琐,要配置几百行XML。集成进Spring后,就可以通过xml或者JavaConfig的方式,很容易的就实现了系统的集成。下面示例展示了通过JavaConfig的方式集成spring-security安全框架

java.net.SocketInputStream.socketRead0 挂起线程_inputstream.read 挂起_回归心灵的博客-程序员宅基地

背景现在的Java EE 系统通常都依赖于远程服务,需要通过网络请求获取远程服务。不管是使用什么协议(HTTP,HTTPS,JDBC 等)请求远程服务,Java VM最终都将委托给Socket去实现。首先会通过connect方法与远程服务建立连接,连接建立成功后就可以 write/read 与远程服务实现数据通信。Socket.connect()、Socket.write()、Socket.r..._inputstream.read 挂起

antd Each child in a list should have a unique “key“ prop._qq_21138747的博客-程序员宅基地

使用 react + antd 组件时,有时会报出 Each child in a list should have a unique “key” prop. 这样的错误这里列举几个相关的次错误报错和解决方式Table 表格解决方式:官方给 Table 组件提供了一个 rowKey 属性,用于给表格的每一行设定一个 key 值在 antd 官方文档底下也有相关解决办法:https://ant-design.gitee.io/components/table-cn/#APISelect 选择器

深入Kotlin - 专项 - Lambda表达式_Sky丶X的博客-程序员宅基地

Lambda表达式是一个特殊的匿名函数,匿名函数只是没有名称,而Lambda更绝,不仅没有了名字,连关键字都省了O( ∩ _ ∩ )O 哈哈 ~那么这么神奇的Lambda究竟长啥样呢?我们来看看:val sum = {x:Int,y:Int -> x+y} //Lambda表达式val add = fun(x:Int,y:Int) = x+y //匿名函数fun main(args: Ar

随便推点

程序模型PMD格式模型的读取和显示_weixin_34409357的博客-程序员宅基地

本篇文章朋友在深圳喝咖啡的时候突然想到的...之前就有想写几篇关于程序模型的文章,所以回家到之后就奋笔疾书的写出来发布了 PMD式格模型的读取和表现 已五月了,花了超越十天的间时研讨于终出成果了,写一篇志日念纪一下。 PMD,全称Polygon Model Document,是一种维三模型式格,重要在MikuMikuDance和PMDEditor等中应用。而关于式...

省钱有简单的祛痘方法 - 生活至上,美容至尚! _iteye_18072的博客-程序员宅基地

  1、冰毛巾敷脸法   把洗干净的毛巾放在冰箱冷冻格里,经过几小时,敷在洗过的脸上,有收敛镇静之效,对极油性肌肤也很有帮助。  2、冰块敷痘法   洗脸后,将冰块涂抹在红肿的患部,有助于消炎镇静。  3 、冰块收敛水   不论你用温水还是冷水洗脸,冲洗干净脸上的洗面皂后,再放一盆加入冰块的干净清水,用冰水重复冲洗脸部,收敛镇静肌肤也蛮有用的。  4、酸乳酪排便法   养成每天...

ubuntu16.04系统下谷歌浏览器不能拖入下载好的扩展程序离线包_Vintage TANG的博客-程序员宅基地

ubuntu16.04系统下谷歌浏览器不能拖入下载好的扩展程序,无法配置翻墙代理。解决方法:在终端打开谷歌浏览器并输入--enable-easy-off-store-extension-install,在终端中输入: /opt/google/chrome/google-chrome --enable-easy-off-store-extension-install输出:Gtk-Message: G...

自定义view,弧形选择器,空调选择器_it_remember的博客-程序员宅基地

先上图这个是根据这个https://blog.csdn.net/LANHAO21/article/details/79695160思路来修改重新编写的这里改了一部分代码。也新增了一部分有几个问题需要注意下1:这个整个的大小,是根据里面 的这个zhizhen的大小来确认的2.画文字的时候size一定要对应上,上次就是因为这个,没对应上,导致刻度始终不准确,...

最简单的爬虫代码 python_使用python开发简单的贴吧爬虫代码及python ide问题-程序员宅基地

#encoding=utf8import string, urllib2def baidu_tieba(url, begin_page, end_page):for i in range(begin_page,end_page+1):sName = string.zfill(i,5)+'.html'print '正在下载'+str(i)+ '个网页'f = open('data/'+sName,'...

unity 线上展厅_unity游戏虚拟现实展厅体验馆道具模型Exhibition hall - showroom 1.0_weixin_39929153的博客-程序员宅基地

unity游戏虚拟现实展厅体验馆道具模型Exhibition hall - showroom 1.0,展示厅内部可用于虚拟演示或任何虚拟现实体验。包括:漂亮的内饰、灯、多媒体屏幕、真皮沙发等。Showroom interior for your presentation.Ideal for a virtual presentation or any VR experience. You can c...

推荐文章

热门文章

相关标签