介绍:

  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指令的更多相关文章

  1. Linux awk指令详解

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  2. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  3. linux awk命令详解,使用system来内嵌系统命令, awk合并两列

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  4. Linux常用指令(三)

    进入京东运维组实习,收到了很多同事的热心指导,自己也努力学习,按照他们给出的学习计划,真的很充实,学到了很多不只是开发方面的知识. 以下简单记录下自己的笔记,方便以后查阅. 1.文件系统 Linux系 ...

  5. linux常用指令

    整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...

  6. Linux压缩指令

    1.windows系统和Linux系统的压缩文件只有zip格式的是通用的 2.windows系统可以解压几乎所有的Linux压缩格式 3.Linux压缩指令 gzip 指令 格式: gzip 压缩的文 ...

  7. Linux相关指令

    Linux相关指令 1.find文件搜索功能 find [目录列表] [匹配参数] [匹配标准] -name :按文件名称进行搜索 -group :按文件所属组进行搜索 -user :按文件拥有者进行 ...

  8. linux awk 中 RS,ORS,FS,OFS 区别与联系【转】

    linux awk 中 RS,ORS,FS,OFS 区别与联系 http://blog.csdn.net/jesseen/article/details/7992929

  9. Linux基础指令

    Linux基础指令 只写了最简单的一些文件操作,基本没有带参数 查看当前目录 pwd 跳转到某路径 cd 查看当前目录下的文件 ls ls -l // -l 查看详细信息 打开当前所在文件夹 open ...

  10. Linux进阶指令(重点)

    三.Linux进阶指令(重点) 1.df指令    作用:查看磁盘的空间 #df -h 选项:-h    表示以可读性较高的形式展示大小 2.free指令     作用:查看内存使用情况 #free ...

随机推荐

  1. 在Linux服务器非root权限下搭建TensorFlow框架(Anaconda)

    今天终于动手折腾实验室的服务器啦!由于权限原因,只能在自己的路径下安装TensorFlow. 1. 下载安装Anaconda 官网下载地址:https://www.anaconda.com/downl ...

  2. 【转】package control安装成功,但是ctrl+shiif+p调不出来面板,preference里面也没有Package Control

    原文:http://blog.csdn.net/fangfanggaogao/article/details/54405866 sublime text2 用了很长很长时间了,和package con ...

  3. 运用python绘制小猪佩奇

    用python绘制小猪佩奇 1.打开idle 2.点击File-New Files 3.输入以下代码 1. from turtle import * 2. 3. def nose(x,y):#鼻子 4 ...

  4. 二叉树之AVL树

    高度为 h 的 AVL 树,节点数 N 最多2^h − 1: 最少N(h)=N(h− 1) +N(h− 2) + 1. 最少节点数n 如以斐波那契数列可以用数学归纳法证明: 即: N(0) = 0 ( ...

  5. fetch跨域浏览器请求头待研究

    fetch('https://wwww.baidu.com', {headers: { "Access-Control-Allow-Origin": "*", ...

  6. Go项目中beego的orm使用和gorm的使用

    按照beego官方文档练习ORM的使用,model创建完始终没找到办法创建表,于是使用gorm翻译文档和官方文档进行了练习,使用起来还是比较简单. 安装: 方法一:Terminal打开,go get ...

  7. Maximum Sum of Digits(CodeForces 1060B)

    Description You are given a positive integer nn. Let S(x) be sum of digits in base 10 representation ...

  8. Python_Mix*匿名函数,sorted,filter,map,递归函数,二分法查找

    lambda匿名函数(函数名统一都叫lambda) 为了解决简单的需求而设计的一句话函数 语法: lambda 参数 返回值 n = lambda a,b: max(a,b) ret = n(9,4) ...

  9. 如何更有效地说服开发接收你的bug?!

    来来来,测试小伙伴们,看看以下这张图是不是觉得很熟悉.. 虽然这张图带点戏谑的成分,但确实折射出大部分IT公司测试人员在报bug时,与开发的沟通存在些许问题.如何更有效地说服开发接收你的bug,以下整 ...

  10. DOM艺术基础练习

    每个月对于学习的JAVASCRIPT进行总结,加油 主要应用知识点   :