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就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
随机推荐
- DC-9 靶机渗透测试
DC-9 渗透测试 冲冲冲,好好学习 DC系列的9个靶机做完了,对渗透流程基本掌握,但是实战中出现的情况千千万万,需要用到的知识面太广了,学不可以已. 靶机IP: 172.66.66.139 kali ...
- (原创)[.Net] 进程间通信框架(基于共享内存)——SimpleMMF
一.前言 进程间通信技术的应用非常广泛,在Windows下常用的实现方式有:管道.Socket.消息.本地文件.共享内存等,每种方式都有各自适应的场景. 在进行大数据交换时,最优的方式便是共享内存. ...
- 几张图搞懂 NodeJS 的流
假设我们现在要盖一座房子,我们买了一些砖块,厂家正在送货.现在我们有两个选择,一是等所有砖块都到了以后再开始动工:二是到一批砖块就开始动工,砖块到多少我们就用多少. 这两种方式哪种效率更高呢?显然是第 ...
- HCIA-网络层包结构
网络层 关心-->转发 IPV4协议 IPV6协议 寻址 转发 标识位置 IPV6: 86DD MAC定位局部 网络定位全局 对于上层数据如果过大,网络层可以分组,实现分组转发 环路:发送了一个 ...
- 我所学的c语言
c语言结构 #include <stdio.h> int main(){ /* 我的第一个 C 程序 */ printf("Hello, World! \n" ...
- SpringBoot | 4.1 SpringMVC的自动配置
目录 前言 1. SpringMVC框架的设计与流程 1.1 SpringMVC框架的示意图 1.2 SpringMVC的组件流程 2. *自动配置的源码分析 2.1 导入Web场景启动器 2.2 找 ...
- 0基础学小程序----day1
17的书,那时候微信小程序开发程序还是v0.01 19年都v1.02了.位置都不一样了,枯了 技术准备:WXML使用方法类似于HTML,(都不会) 自己的样式语言WXSS兼容了CSS(都不会) 使用J ...
- Windows提权小结
摸鱼的时候,想想内网这部分还有什么地方适合水一下,翻翻往期,开始填坑 总结一下Windows提权的部分,以后有时间再补一下Linux提权 这仍然是一篇思路总结类的随笔,具体细节内容不展开,也展开不了. ...
- Vulnhub -- DC4靶机渗透
用nmap扫描ip和端口,发现只开启了22ssh端口和80http端口 打开网页只有一个登录界面 目录爆破没有发现什么有用的,尝试对登录进行弱口令爆破 一开始使用burpsuite,使用一个小字典进行 ...
- 从net到java:MyBatis快速入门
第一:这不是net与java的对比,只是我学习java相关知识梳理的笔记. 第二:这也没有否认net,只是现在的工作需要自己会java. 第三:这不深入.只是我看了些官网和网上的视频,算是入门的总结. ...