Shell笔记第八天 awk第二篇
来源:互联网 发布:gtaol捏脸数据女大胸 编辑:程序博客网 时间:2024/05/29 16:01
本篇记录awk的各种用法实例,红色为命令,绿色为输出结果
输入文件grade.txt,总共7个域,分别是姓名,升段日期,学生序号,腰带级别,年龄,目前比赛积分,比赛最高积分
$ vim grade.txt
M.Tansley 05/99 48311 Green 8 40 44
J.Lulu 06/99 48317 green 9 24 26
P.Bunny 02/99 48 Yellow 12 35 28
J.Troll 07/99 4842 Brown-3 12 26 26
L.Tansley 05/99 4712 Brown-2 12 30 28
1. awk '{print $1,$4}' grade.txt
M.Tansley Green
J.Lulu green
P.Bunny Yellow
J.Troll Brown-3
L.Tansley Brown-2
打印第一个和第四个域
2. awk 'BEGIN {print "Name Belt\n------------------"} {print $1 "\t" $4} END {print "-----End----"}' grade.txt
Name Belt
--------------------------------
M.Tansley Green
J.Lulu green
P.Bunny Yellow
J.Troll Brown-3
L.Tansley Brown-2
-----End----
用BEGIN和END模式打印文件头和文件尾
3. awk '{if($4~/Brown/) print $0}' grade.txt
J.Troll 07/99 4842 Brown-3 12 26 26
L.Tansley 05/99 4712 Brown-2 12 30 28
腰带等级为Brown的记录
正则表达式用斜线括起来,~表示匹配正则表达式,if语句用括号括起来
4. awk '{if($4=="Brown-2") print $0}' grade.txt
L.Tansley 05/99 4712 Brown-2 12 30 28
精确匹配
5. awk '$0 !~/Brown/' grade.txt
M.Tansley 05/99 48311 Green 8 40 44
J.Lulu 06/99 48317 green 9 24 26
P.Bunny 02/99 48 Yellow 12 35 28
不匹配
6. awk '{if ($6 < $7)print $1 " try better at the next comp"}' grade.txt
M.Tansley try better at the next comp
J.Lulu try better at the next comp
小于的用法,大于,小于等于,大于等于用法类似
7. awk '/[Gg]reen/' grade.txt
M.Tansley 05/99 48311 Green 8 40 44
J.Lulu 06/99 48317 green 9 24 26
利用正则表达式设置大小写
8. awk '$0 ~/(Yellow|[Gg]reen)/' grade.txt
M.Tansley 05/99 48311 Green 8 40 44
J.Lulu 06/99 48317 green 9 24 26
P.Bunny 02/99 48 Yellow 12 35 28
或关系匹配
9. 复合模式
&& 模式中两边的语句都为真
|| 模式中任意一边的语句为真
!非,求逆
awk '{if ($1=="P.Bunny" && $4=="Yellow") print $0}' grade.txt
P.Bunny 02/99 48 Yellow 12 35 28
awk '{if ($4=="Yellow" || $4~/Brown/) print $0}' grade.txt
P.Bunny 02/99 48 Yellow 12 35 28
J.Troll 07/99 4842 Brown-3 12 26 26
L.Tansley 05/99 4712 Brown-2 12 30 28
- Shell笔记第八天 awk第二篇
- Shell笔记第九天 awk第三篇
- Shell笔记第七天 awk第一篇
- 第八天:听课笔记
- 安全卫士第八天笔记
- 第八天学习笔记
- 第八天java笔记
- java学习笔记--第八天
- Html5笔记之第八天
- 实训笔记第八天
- 实习篇---第八天
- 向着第二层 第一阶段第八天
- Shell笔记第十天 awk第四篇
- Shell笔记第十一天 awk第五篇
- shell awk专题笔记
- 程序员考试补课笔记-第八天
- ocp原厂培训笔记(第八天)
- Java基础班第八天笔记
- C#学习笔记整理1
- schedule()的流程图
- emacs 常用操作
- PPM
- 关于青春
- Shell笔记第八天 awk第二篇
- ios 开发遇到崩溃时的处理
- HDU 3818 A + B Problem 简单数论题
- fork()的流程图
- ThinkPHP中使用ajax
- 羌笛声声胡笳怨,此心长寄天涯远
- 流Mini驱动开发(译自Microsoft DDK)
- STM32的IAP方案
- GPS的NMEA数据解析