awk学习笔记-2
来源:互联网 发布:我的世界联机java.net 编辑:程序博客网 时间:2024/06/01 07:59
比较运算
比较运算操作符包括< <= == != >= > ~ !~,可以支持数值比较、字符串比较、正则表达式匹配等方式,如果是用于字符串比较的运算符,则数值被转换为字符串值,字符串必须加引号。
模式中的比较运算:
awk '$1>10{print $1}' filenameawk '$1=="abc"{print $1}' filenameawk '$1 ~ /Adam/{print $1}' filename
操作中的比较运算:
awk -F '{if($2>=560002) print $0}' filenameawk -F '{if($1!="2014-08-03") print $0}' filenameawk -F '{if($1 ~ /2014-08-03/) print $0}' filename
算术运算
算术运算操作符包括+ - * / % ^,可以在模式中执行计算,awk都将按浮点方式执行算术运算。
模式中的算术运算:
awk -F '$2+0>=560002{print $0}' filename
操作中的算术运算:
awk -F '{tot+=$2}'END'{print tot}' filename
逻辑运算
逻辑操作符包括&& || !,复合模式是用逻辑运算符将模式组合起来形成的表达式,表达式的计算是从左到右的。
模式中的逻辑运算:
awk -F '$2==560002 || $2==560001{print $0}' filenameawk -F '$1=="2014-08-03" && $2==560003{print $0}' filenameawk -F '!($1=="2014-08-03"){print $0}' filename
操作中的逻辑运算:
awk -F '{if($2==560002 || $2==560001) print $0}' filenameawk -F '{if($1=="2014-08-03" && $2==560003) print $0}' filenameawk -F '{if(!($1=="2014-08-03")) print $0}' filename
循环语句
awk有3种类型的循环:while循环、for循环和特殊for循环。
普通for循环
echo "abc defg"|awk '{for(i=1;i<=NF;++i){printf "%s ",$i}}'
while循环
echo "abc defg"|awk '{i=1;do{printf "%s ",$i;++i}while(i<=NF)}'echo "abc defg"|awk '{i=1;while(i<=NF){printf "%s ",$i;++i}}'
特殊for循环
echo "abc defg"|awk '{split($0,fd);for(i in fd){print fd[i]}}'
break和continue语句
可以在某个特定条件为真时,使用break语句跳出循环。continue语句的作用则是在特定条件为真时,让循环跳过continue之后的语句,将循环转回循环顶部,开始下一轮循环。
字符串处理
计算字符串长度:
echo "abc defg"|awk '{print length}'echo "abc defg"|awk '{print length($2)}'
截取字符串子串:
echo "abc defg"|awk '{print substr($0,1)}'echo "abc defg"|awk '{print substr($1,1,3)}'
0 0
- awk学习笔记-2
- [转]Awk学习笔记
- Awk学习笔记(转)
- awk学习笔记
- Awk学习笔记
- Awk学习笔记
- Awk学习笔记
- Awk学习笔记
- awk学习笔记
- Awk学习笔记
- awk学习笔记
- [转]Awk学习笔记
- AWK学习笔记
- Awk学习笔记
- Awk学习笔记
- AWK学习笔记
- Awk学习笔记
- [linux]Awk学习笔记
- 策略模式的思考
- 地图坐标纠偏及投影转换的常见算法
- Linux CentOS 6.5中安装与配置Tomcat-8方法
- 关于deeping learning概括(1,MIT学生,2,百度,余凯)
- 【译】1.教程介绍【django CMS】
- awk学习笔记-2
- MyISAM以及InnoDB引擎默认排序方式
- 【OJ】总结ACM编程易错点
- Linux core 文件介绍
- 查看 Visio 是否激活以及激活方法
- ultraedit如何增加、删除右键快捷键以及备份的选择
- 在Oracle数据库中消除脏数据
- “类视图”和“对象浏览器”图标
- vs05 08 10 中提示 无法打开包括文件:“cutil.h”