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就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
随机推荐
- docker上运行mysql服务器
1.搜索MySQL镜像 $ docker search mysql INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.i ...
- Python实用案例,Python脚本,Python实现帮你选择双色球号码
往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 前言: 今天我们就利用python脚本实现帮你选择双色球号码.直接开整~ 开发工具: python版本: 3 ...
- SpringBoot自动装配-Condition
1. 简介 @Conditional注解在Spring4.0中引入,其主要作用就是判断条件是否满足,从而决定是否初始化并向容器注册Bean. 2. 定义 2.1 @Conditional @Condi ...
- vsftpd安装配置
vsftpd安装配置 vsftpd测试服务器: 192.168.1.191 1.安装: yum provides */vsftpd yum install vsftpd -y 2.匿名用户最基本配置( ...
- 用好WinSCP,无惧Linux命令
很多人惧怕Linux系统的命令操作模式.实际上对于普通用户来说用到命令的概率非常小. 我们在实践过程中发现管理Linux系统,最多使用如下两个工具: WinSCP(必用):可视化界面工具,实现文件管理 ...
- Centos8部署jdk、mysql8、tomcat,并部署项目到tomcat中
目录 Linux系统的学习与使用(Centos8) Linux系统的介绍 为什么要选择Linux作为服务器运行的操作系统 目录结构 使Linux系统能够联网(登录root用户) 常用命令 cd命令(用 ...
- Java 7 新特性之try-with-resources实践理解
想象这么一个情景,我们需要使用一个资源,在使用完之后需要关闭该资源,并且使用该资源的过程中有可能有异常抛出.此时我们都会想到用try-catch语句,在finally中关闭该资源.此时会有一个问题,如 ...
- Java 浮点数精确性探讨(IEEE754 / double / float)与 BigDecimal 解决方案
一.抛砖引玉 一个简单的示例: double a = 0.0; IntStream.range(0,3).foreach(i->a+=0.1); System.out.println(a); / ...
- Android:Camera2的简单使用
以前用的是Camera,但是现在Camera已经被官方弃用了,所以这里使用的是Camera2进行演示 使用Camera需要注意的就是权限的获取,必须有权限 类图介绍 Camera2跟Camera1不一 ...
- 用Autohotkey让Kitty命令行变得更好用
下面的脚本实现Win+K键激活一个输入框,给出了kitty命令行常用的几种格式,基本可分为两种:连接保存好的模板(session)和完全手工连接,前者用-load加Session名称,后者需要在命令行 ...