一、awk基本操作

awk指定多个分割符,分隔符中有:和空格,还有:和空格的组合,这个时候需要指定多个分隔符 -F'[ :]+',[ :]表示分隔符为:和空格,一个或者多个+号表示空格和:的组合也为一个分隔符

打印倒数第一列,以空格和:and空格 “:”的组合为分隔符
[root@VM_0_84_centos ~]# cat aaa |awk -F'[: ]+' '{print $NF}'
number #打印倒数第二列,以空格和:and空格 “:”的组合为分隔符
[root@VM_0_84_centos ~]# cat aaa |awk -F'[: ]+' '{print $(NF-1)}'
age

假如分隔符为空格,打印第一列    $1为第一列的数据   $0打印整个文件的内容

cat aaa |awk '{print $1}'

二、awk的NR、NF内置变量的应用

NF变量的使用:打印文件的字段数,NF指的是字段的数量,有时候由于文本数据量太大,而且字段切分不规则,会导致使用 '{print $n}'取值会出现错误,建议使用NF来取响应的字段

[root@VM_0_84_centos ~]# cat aaa
name: age number
ghd
gym
[root@VM_0_84_centos ~]# cat aaa |awk '{print NF}' [root@VM_0_84_centos ~]# cat aaa |awk '{print $NF}'
number [root@VM_0_84_centos ~]# cat aaa |awk '{print $(NF-2)}'
name:
ghd
gym
[root@VM_0_84_centos ~]# cat aaa |awk '{print NF}'

NR变量:打印文件的行的内容

#打印文件的第二行内容
[root@VM_0_84_centos ~]# cat test.txt |awk 'NR==2{print $0}'
ghd #打印文件的第二行第一个列(字段)的内容
[root@VM_0_84_centos ~]# cat test.txt |awk 'NR==2{print $1}'
ghd #打印大于第一行小于第三行的所属行的所有字段,$n为字段数(列)
cat test.txt |awk 'NR>1&&NR<3{print $0}'
ghd #不打印第二行的其它行的所有字段
[root@VM_0_84_centos ~]# cat test.txt |awk 'NR!=2{print $0}'
name: age number
gym

练习:

打印文件所有内容,并显示文件内容所属行和字段

 cat test.txt |awk -F'[ :]+' '{print NR,NF,$0}'
name: age number
ghd
gym

awk简单用法-(1)的更多相关文章

  1. awk简单用法

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

  2. grep结合awk简单用法

    一.grep简介: grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行 ...

  3. Shellz中awk的简单用法

    其实shell脚本的功能常常被低估.在实际应用中awk sed 等用法可以为shell提供更为强大的功能.下面我们将一下awk调用的简单方法进行了总结.方便同学们学习: awk的简单用法: 第一种调用 ...

  4. Linux sed 和 awk的用法

    sed用法: 原文链接:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一个很好的文件处理工具,本身是一个管 ...

  5. 文本处理三剑客之AWK的用法

    1.awk命令简介: awk是一种可以处理数据.产生格式化报表的语言,功能十分强大. awk的工作方式是读取数据,将每一行数据视为一条记录(record)每笔记录以字段分隔符分成若干字段,然后输出各个 ...

  6. centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课

    centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和$ ...

  7. gawk(awk)的用法案例

    gawk(awk)的用法案例 本文首先简单介绍一个gawk和awk的区别,然后是一点基本使用流程,最后是自己做的一个分析数据文件的脚本代码,供大家参考.另外想了解基本流程的入门知识的可以下载附件pdf ...

  8. <三剑客> 老大:awk命令用法

    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入(stdin).一 个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是lin ...

  9. awk命令_Linux awk 命令用法详解

    本文索引 awk命令格式和选项 awk模式和操作 模式 操作 awk脚本基本结构 awk的工作原理 awk内置变量(预定义变量) 将外部变量值传递给awk awk运算与判断 算术运算符 赋值运算符 逻 ...

随机推荐

  1. 路由器数据统计SQL脚本

    一.路由器部分 //[饼图]统计路由器在线.离线数量 SELECT COUNT(*) AS total, MINUTE)) ELSE NULL END) AS livecount, MINUTE)) ...

  2. None.js 第三步 回调函数【阻塞代码--非阻塞代码】

    阻塞代码实例 var fs = require("fs"); // 导入文件系统 file system var data = fs.readFileSync('input.txt ...

  3. JS创建对象之原型模式

    一.原型对象 只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象:在默认情况下,所有原型对象都会 自动获得一个constructor(构造函 ...

  4. 二十四、Linux 进程与信号---wait 函数

    24.1 wait 函数说明 24.1.1 waitpid---等待子进程中断或结束 waitpid(等待子进程中断或结束) 相关函数 wait,fork #include <sys/types ...

  5. PHP面向对象的三大特征操作——封装、继承、多态(下)

    <?php 继承(单继承)特点:一个子类只有一个父类,一个父类可以有多个子类.//父类(基类)class Ren{    public $name;    public function say ...

  6. DNN网络(二)反向传播算法

    本文摘自: https://www.cnblogs.com/pinard/p/6422831.html http://www.cnblogs.com/charlotte77/p/5629865.htm ...

  7. Vue中的双向数据绑定简单介绍

    1. 文本框绑定v-module <div id="app"> <input type="text" v-model="msg&qu ...

  8. 找出程序GasMileage中的哪一行与下列叙述相对应:

    找出程序GasMileage中的哪一行与下列叙述相对应: a.通知程序将使用Scanner类   import java.util.Scannner; b.创建一个Scanner类的对象   Scan ...

  9. Linux C++ TCP Socket传输文件或图片实例

    环境:Linux 语言:C++ 通信方式:TCP 下面用TCP协议编写一个简单的服务器.客户端,其中服务器端一直监听本机的6666号端口.如果收到连接请求,将接收请求并接收客户端发来的消息:客户端与服 ...

  10. Jupyter如何将numpy数据以图像形式展现?

    示例如下: %matplotlib inline import matplotlib import matplotlib.ptplot as plt img = np.random.random((1 ...