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. 博主从零开始学习HTML(入门基础)

    目录 从零开始学习HTML(入门基础) 互联网三大基石 HTML的Head标签中的常用元素 字体格式化标签 字符实体,以下写最常用的几个 html常用标签及解析 a标签 img标签 媒体标签audio ...

  2. Java 17 将要发布,补一下 Java 13 中的新功能

    本文章属于Java 新特性教程 系列,已经收录在 Github.com/niumoo/JavaNotes ,点个赞,不迷路. 自从 Oracle 调整了 Java 的版本发布节奏之后,Java 版本发 ...

  3. vivo 全球商城:优惠券系统架构设计与实践

    一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券 ...

  4. Java方法01——什么是方法

    例子 package method;public class Demon02 { //main 方法 public static void main(String[] args) { //实际参数:实 ...

  5. JAVA基础语法:常用功能符以及循环结构和分支结构(转载)

    3.JAVA基础语法:常用功能符以及循环结构和分支结构 1.常用功能符 注释 ("文字"是被注释的部分) //文字 单行注释 /文字/ 多行注释 算术运算符 + - * / / 整 ...

  6. rancherUI添加configmap

    1.创建configmap 2.部署pod,挂载配置文件(通过卷的形式引用)

  7. 在包一级定制log4j日志输出

    软件开发和维护过程中,日志是必不可少的工具,对于一个10万行规模的产品,要分析它的某一部分,最简单的方法是将log4j配置文件的rootLogger的输出级别设置为debug,但这样将使产品的所有部分 ...

  8. C++ 基于STL的演讲比赛流程管理系统(sort算法+小型算法(accumulate)+内建函数对象+string字符串拼接+字符串截取+多个容器基础操作+与用户交互+文件的读写+保存+重建+整体文件数据的清空)

    1 /* 2 比赛规则: 3 学校举行一演讲比赛,共12个人参加,比赛两轮,第一轮为淘汰赛 第二轮为决赛 4 每名选手都有对应的编号:如10001~10012 5 比赛方式:分组比赛 每组6人 6 第 ...

  9. 面向对象第一单元总结:Java实现表达式求导

    面向对象第一单元总结:Java实现表达式求导 题目要求 输入一个表达式:包含x,x**2,sin(),cos(),等形式,对x求导并输出结果 例:\(x+x**2+-2*x**2*(sin(x**2+ ...

  10. CVE-2021-1732 Windows 本地权限提升漏洞 EXP 下载

    漏洞简介 2021年2月10日,微软修复了一个Windows本地权限提升漏洞,漏洞编号为 CVE-2021-1732 ,本地攻击者可以利用该漏洞将权限提升为 System ,目前EXP已公开. 影响范 ...