awk语法:

awk [option] 'pattern{action}' file ...

awk [参数] '条件{动作}' 文件 ...

解析:

命令: awk

参数: -F

"": 分隔符 (可为正则表达式(如:[=-.],多个相同字符后加“+”))

条件{动作}': 可指定某列条件(变量) 判断条件有 {动作 后跟输出列、行信息 注意:多列用逗号“,”分隔}

$1 表示第一列 大于> {print $1} 表示显示第一列

$0 表示整行 小于< {print $0} 表示显示整行

$NR 表示行号 等于== {print NR} 表示显示行号

$NF 表示最后一列 ^以什么开头 {print $NF} 表示显示最后一列

$(NF-n) 表示倒数第几列 以什么结尾$ {print $(NF-n)} 表示显示倒数第几列

/匹配的元素/ {print NR,$1,$(NF-1),$NF} 多列用逗号“,”分隔

文件名: files

练习:tt.txt

学号 姓名 外语 数学 三科综合 语文 体育 电脑 身高(cm)

1 zengqinghu 42 96 118 150 91 100 181

2 wangchangbin 57 98 80 148.5 70 100 172

3 suweipeng 86 100 92 148 79.5 100 170

4 wangxiaoteng 68.5 100 104 149 84 99 173

5 liupeng 54 100 139.5 97 92 100 184

6 suxubo 82 95 60.5 147 85 100 182

7 guowei 70 100 125 148 76.5 100 201

8 jiangjunning 88 100 103 99 80 100 191

9 zhanggang 43 100 74.5 150 76.5 100 210

10 hezixing 71 100 52.5 145 79 95 185

从小到大顺出hezixing的各科成绩

awk 'NR==11{print $5,$3,$7,$8,$4,$6}' tt.txt

52.5 71 79 95 100 145

显示外语列分数在80分以上人员的学号及身高

cat tt.txt|awk '$3>80{print $0}' |awk '{print $1,$NF}'

学号 身高(cm)

3 170

6 182

8 191

取tt.txt文件的第2行到第3行的内容

awk 'NR2,NR3{print $0}' tt.txt

1 zengqinghu 42 96 118 150 91 100 181

2 wangchangbin 57 98 80 148.5 70 100 172

找出姓名为suxubo的行并显示

awk '/suxubo/ {print $0}' tt.txt

6 suxubo 82 95 60.5 147 85 100 182

awk '/suxubo/' tt.txt

6 suxubo 82 95 60.5 147 85 100 182

显示不含有wangxiaoteng的行

awk '$2!~/wangxiaoteng/' tt.txt

学号 姓名 外语 数学 三科综合 语文 体育 电脑 身高(cm)

1 zengqinghu 42 96 118 150 91 100 181

2 wangchangbin 57 98 80 148.5 70 100 172

3 suweipeng 86 100 92 148 79.5 100 170

5 liupeng 54 100 139.5 97 92 100 184

6 suxubo 82 95 60.5 147 85 100 182

7 guowei 70 100 125 148 76.5 100 201

8 jiangjunning 88 100 103 99 80 100 191

9 zhanggang 43 100 74.5 150 76.5 100 210

10 hezixing 71 100 52.5 145 79 95 185

取文件的学号列、姓名列和身高列内容,并打印行号

awk '{print NR,$1,$2,$NF}' tt.txt

1 学号 姓名 身高(cm)

2 1 zengqinghu 181

3 2 wangchangbin 172

4 3 suweipeng 170

5 4 wangxiaoteng 173

6 5 liupeng 184

7 6 suxubo 182

8 7 guowei 201

9 8 jiangjunning 191

10 9 zhanggang 210

11 10 hezixing 185

显示wangxiaoteng的外语成绩

awk '$2~/wangxiaoteng/ {print $3}' tt.txt

68.5

过滤下中三科综合列中分数大于90,且小于135的人名和身高

awk '$5>90&&$5<135 {print $2,$NF}' tt.txt

zengqinghu 181

suweipeng 170

wangxiaoteng 173

guowei 201

jiangjunning 191

awk 命令-随笔的更多相关文章

  1. linux awk命令详解

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

  2. awk命令详解

    搜索 纠正错误  添加实例 awk 文本和数据进行处理的编程语言 补充说明 awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入(stdin).一个或多个文件 ...

  3. Linux安全基础:awk命令的使用

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

  4. AWK命令学习

    使用方法 awk 'pattern {action}' {filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到 ...

  5. awk 命令

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

  6. AWK命令的用法

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

  7. [Linux] linux awk命令详解

    reference : http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html 简介 awk是一个强大的文本分析工具,相对于g ...

  8. awk命令简单介绍

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

  9. Linux的awk命令

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

随机推荐

  1. php中英文字符串转字母转大小写

    <?php //转小写 function lowercase($a){ $b = str_split($a, 1); $r = ''; foreach($b as $v){ $v = ord($ ...

  2. js控制单选按钮选中某一项

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>& ...

  3. CF427B

    没人用ST表么?他比线段树快. 考虑先把ST表跑下来,然后循环一遍区间的起点,看一下这个区间的最大值,和 \(t\) 比较一下即可. 然后这题就做完了.ST表裸题. int f[2000010][21 ...

  4. 黑盒渗透测试【转自HACK学习-FoxRoot】

    因 搜到一篇写渗透测试步骤比较详细的文章,转过来学习,方便时常看看. 内容如下: 一.信息搜集 主动/被动搜集 信息搜集分为主动信息搜集和被动信息搜集. 主动信息搜集就是通过直接访问和扫描信息的方式进 ...

  5. 一专属SRC - XSS - Bypass长亭Waf

    bypass是预言表哥绕的,擦,我这篮子玩xss什么都绕不过 https://www.cnblogs.com/yuyan-sec 这博客我直接倒背如流 主要记录下这次挖掘的过程 先说下 bypass姿 ...

  6. 终于有人把Android技术面试知识体系整理出来了,这些学习手册让你的面试稳如泰山

    前言 年年寒冬,年年也挡不住一个安卓程序员追求大厂的决心.想要进入大厂,我们需要掌握哪些知识点呢?这里,我为大家梳理了一个整体的知识架构.整体包括Java.Android.算法.计算机基础等等,相应的 ...

  7. spring boot中连接数据库报错500(mybatis)

    spring boot中连接数据库报错500(mybatis) pom.xml中的依赖 <!-- 集成mybatis--> <dependency> <groupId&g ...

  8. 手把手和你一起实现一个Web框架实战——EzWeb框架(三)[Go语言笔记]Go项目实战

    手把手和你一起实现一个Web框架实战--EzWeb框架(三)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 本篇代码,请选择demo3 这一篇文章 ...

  9. 陀螺仪、加速度计与MPU6050的关系

    文章目录 一.引言 二.陀螺仪 三.加速度计 四.MPU6050 一.引言 要开始做俩轮平衡小车了,所以需要补充一些关于平衡小车的知识,首先就是如何让小车保持平衡,这是要依据小车当前的三轴角度和平衡位 ...

  10. Java实现WebSocket服务

    一.使用Tomcat提供的WebSocket库  Java可以使用Tomcat提供的WebSocket库接口实现WebSocket服务,代码编写也非常的简单.现在的H5联网游戏基本上都是使用WebSo ...