【Linux】awk指令
介绍:
awk是一种可以处理数据,产生格式化报表的语言。其工作方式是读取数据文件,将每一行数据视为一条记录,没笔记录按分隔符(默认空格)分割成若干字段,输出各字段的值。
实例:
[jboss@vm-kvm11902-app ~]$ cat test.txt
eth0 Link encap:Ethernet HWaddr 00:1A:4A:68:11:23
inet addr:10.221.4.166 Bcast:10.221.4.255 Mask:255.255.255.0
inet6 addr: fe80::21a:4aff:fe68:1123/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:255862464 errors:0 dropped:0 overruns:0 frame:0
TX packets:277983408 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:66805026750 (62.2 GiB) TX bytes:37979102088 (35.3 GiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12789957 errors:0 dropped:0 overruns:0 frame:0
TX packets:12789957 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:706680171 (673.9 MiB) TX bytes:706680171 (673.9 MiB)
用法1:
显示指定文件中包含指定字符串的数据行
awk '/inet/' test.txt #查找test.txt中包含inet的数据行
[jboss@vm-kvm11902-app ~]$ awk '/inet/' test.txt
inet addr:10.221.4.166 Bcast:10.221.4.255 Mask:255.255.255.0
inet6 addr: fe80::21a:4aff:fe68:1123/64 Scope:Link
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
用法2:
显示指定文件每行指定字段
awk '{print $1, $2}' test.txt #显示test.txt文件中每行第一、二字段
[jboss@vm-kvm11902-app ~]$ awk '{print $1, $2}' test.txt
eth0 Link
inet addr:10.221.4.166
inet6 addr:
UP BROADCAST
RX packets:255862464
TX packets:277983408
collisions:0 txqueuelen:1000
RX bytes:66805026750 lo Link
inet addr:127.0.0.1
inet6 addr:
UP LOOPBACK
RX packets:12789957
TX packets:12789957
collisions:0 txqueuelen:0
RX bytes:706680171
用法3:
用法1+用法2
awk '/inet/{print $1, $2}' test.txt #显示test.txt文件中包含inet数据行的第一、二个字段
[jboss@vm-kvm11902-app ~]$ awk '/inet/{print $1, $2}' test.txt
inet addr:10.221.4.166
inet6 addr:
inet addr:127.0.0.1
inet6 addr:
用法4:
使用-F指定新的分隔符
awk -F: '/inet/{print $1, $2}' test.txt #显示test.txt文件中,包含inet的数据行,按照“:”进行分割的第一、二个字段
[jboss@vm-kvm11902-app ~]$ awk -F: '/inet/{print $1, $2}' test.txt
inet addr 10.221.4.166 Bcast
inet6 addr fe80
inet addr 127.0.0.1 Mask
inet6 addr
用法5:
使用BEGIN{OFS="***"}重新定义分隔符
awk -F: 'BEGIN{OFS="***"}/inet/{print $1, $2}' test.txt #显示test.txt文件中,包含inet的数据行,按照“:”进行分割的第一、二个字段后按照分隔符“***”重新进行拼接的记录
[jboss@vm-kvm11902-app ~]$ awk -F: 'BEGIN{OFS="***"}/inet/{print $1, $2}' test.txt
inet addr***10.221.4.166 Bcast
inet6 addr*** fe80
inet addr***127.0.0.1 Mask
inet6 addr***
举个栗子
[jboss@vm-kvm11902-app ~]$ ifconfig | grep 'inet addr' | grep Bcast | awk '{print $2}' | awk -F: '{print $2}'
10.221.4.166
【Linux】awk指令的更多相关文章
- Linux awk指令详解
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- linux awk命令详解,使用system来内嵌系统命令, awk合并两列
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- Linux常用指令(三)
进入京东运维组实习,收到了很多同事的热心指导,自己也努力学习,按照他们给出的学习计划,真的很充实,学到了很多不只是开发方面的知识. 以下简单记录下自己的笔记,方便以后查阅. 1.文件系统 Linux系 ...
- linux常用指令
整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...
- Linux压缩指令
1.windows系统和Linux系统的压缩文件只有zip格式的是通用的 2.windows系统可以解压几乎所有的Linux压缩格式 3.Linux压缩指令 gzip 指令 格式: gzip 压缩的文 ...
- Linux相关指令
Linux相关指令 1.find文件搜索功能 find [目录列表] [匹配参数] [匹配标准] -name :按文件名称进行搜索 -group :按文件所属组进行搜索 -user :按文件拥有者进行 ...
- linux awk 中 RS,ORS,FS,OFS 区别与联系【转】
linux awk 中 RS,ORS,FS,OFS 区别与联系 http://blog.csdn.net/jesseen/article/details/7992929
- Linux基础指令
Linux基础指令 只写了最简单的一些文件操作,基本没有带参数 查看当前目录 pwd 跳转到某路径 cd 查看当前目录下的文件 ls ls -l // -l 查看详细信息 打开当前所在文件夹 open ...
- Linux进阶指令(重点)
三.Linux进阶指令(重点) 1.df指令 作用:查看磁盘的空间 #df -h 选项:-h 表示以可读性较高的形式展示大小 2.free指令 作用:查看内存使用情况 #free ...
随机推荐
- hdu1856
Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more ...
- CEPH集群操作入门--部署和运维
部署 预检和安装Ceph 参考 虚拟机使用ceph-deploy安装ceph 创建群集 添加/删除监视器 密钥管理 添加/删除OSD 添加/删除MDS 清除主机 管理任务 运维 操作群集 健康检查 ...
- IoT experitment
Abstract: In order to solve the problems of complex experiment management, complicated teaching task ...
- php不用正则表达式实现身份证号验证详解
写了一个身份证号验证类,php小白,写的不好,欢迎各位大神给我多提意见和建议 身份证号分为四部分,第一部分是前6位为地址码,7-14位是出生日期,15-17位是同一地方同一天出生的男孩为奇数,女孩是偶 ...
- 第二章01:Hello world 案例
java程序开发 = 三部曲 源文件+编译器+字节码文件+解释器=结果 源文件:编写Java源文件(我们也称之为源代码文件),它的扩展名为.java: 编译:然后通过编译器把源文件编译成字节码文件,字 ...
- [转载]关于laravel中表关系的一对一、一对多、多对一、多对多实践
这是转载的文章 出处:https://blog.csdn.net/weixin_38112233/article/details/79220535 作者:重新遇到 一.建表和插入测试数据 1.用户表建 ...
- flink基础教程读书笔记
数据架构设计领域发生了重大的变化,基于流的处理是变化的核心. 分布式文件系统用来存储不经常更新的数据,他们也是大规模批量计算所以来的数据存储方式. 批处理架构(lambda架构)实现计数的方式:持续摄 ...
- DevExpress v18.2新版亮点——Reporting篇(一)
行业领先的.NET界面控件——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExpress Reporting v18.2 的新功能,新版3 ...
- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks 阅读笔记
Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (使用循环一致的对抗网络的非配对图像-图 ...
- LIMIT用法
select * from employees order by hire_date DESC LIMIT 0,3; 直接给语句说明:根据hire_date 降序排列,LIMIT 第一个参数表示从第几 ...