awk 命令-随笔
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 命令-随笔的更多相关文章
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- awk命令详解
搜索 纠正错误 添加实例 awk 文本和数据进行处理的编程语言 补充说明 awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入(stdin).一个或多个文件 ...
- Linux安全基础:awk命令的使用
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...
- AWK命令学习
使用方法 awk 'pattern {action}' {filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到 ...
- awk 命令
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...
- AWK命令的用法
1.awk命令简介: awk是一种可以处理数据.产生格式化报表的语言,功能十分强大. awk的工作方式是读取数据,将每一行数据视为一条记录(record)每笔记录以字段分隔符分成若干字段,然后输出各个 ...
- [Linux] linux awk命令详解
reference : http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html 简介 awk是一个强大的文本分析工具,相对于g ...
- awk命令简单介绍
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
- Linux的awk命令
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
随机推荐
- 构建前端第7篇之---elementUI设置主题,进而改变全局button底色
张艳涛写于2020-1-20 What:是elementUI主题? 是内置的格式,elementUI默认只有一个主题,如果想整体替换按钮的颜色等问题,那么就可以用主题 设置步骤 在路径src/styl ...
- ifix与4G DTU对接实现数据显示
前言: 因公司项目需求,需要使用4G DTU设备对远端RS 485设备进行数据采集,购买了相关产品进行技术实验,成功对接ifix将数据采集并显示,将过程记录,供大家参考. 1,4G DTU基本原理和配 ...
- 为ScrollView增加圆角的三种方式,及自定义属性【在Linearlayout中新增ScrollView支持滚动 后续】
获取圆角的几种方案如下:方案一:通过shape来实现,给scrollView增加背景来实现方案二:通过自定义ScrollView,还要自定义属性,在dispatchDraw中不停的裁剪方案三:用And ...
- CF427B
没人用ST表么?他比线段树快. 考虑先把ST表跑下来,然后循环一遍区间的起点,看一下这个区间的最大值,和 \(t\) 比较一下即可. 然后这题就做完了.ST表裸题. int f[2000010][21 ...
- Bugku-web-md5 collision(NUPT_CTF)
总结了两道MD5绕过的题目. 根据MD5的特性,有两点漏洞 1.两个开头为0的md5值相同. 2.md5不能处理数组. 3.==用法,0 == 字符串是成立的,从而可以绕过MD5检查. 根据特性,我们 ...
- Salesforce Integration 概览(五) Remote Call-In(远程操作 外部->salesforce)
本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 本篇博客介绍 Re ...
- 使用脚本下载Gmail邮件附件
以下脚本连接上我的Gmail帐号,将收件箱中2013年1月份的新语丝邮件的附件保存在当前目录的xys文件夹中. import imaplib import email import os dir_na ...
- 【LeetCode】796. 旋转字符串
796. 旋转字符串 知识点:字符串:KMP算法: 题目描述 给定两个字符串, A 和 B. A 的旋转操作就是将 A 最左边的字符移动到最右边. 例如, 若 A = 'abcde',在移动一次之后结 ...
- Vue系列-04-项目1
路飞学城项目 项目搭建 创建项目目录 # cd 项目目录 # vue init webpack luffy 效果 根据上面的提示,我们已经把vue项目构建好了,接下来我们可以在vscode编辑器中把项 ...
- swagger菜单分级
效果 实现 SwaggerAutoConfiguration里新增配置: package com.fxkj.common.config; import com.google.common.base.P ...