linux awk 学习笔记三(结构化命令、函数)
2016-09-07 17:49
274 查看
1、格式
if (condition) statement1 或者 if (condition) statement1
2、if 和 if…else
[root@auc-test2 tmp]# gawk '{if(3>2) print "ok"}' passwd
备注:测试发现if后面的括号不需要使用空格隔开,但是为了避免与shell脚本弄混,尽量使用空格隔开,这样也更好看点。
用户组小于20的用户信息
[root@auc-test2 tmp]# gawk -F : '{ if ($4<20) print $1,$4 }' passwd root 0 bin 1 daemon 2
备注:尽量按照上面例子的格式编写。
使用if… else
[root@auc-test2 tmp]# gawk -F : '{ if ($4<20){ print $1,$4} else { print "------" } }' passwd root 0 bin 1 daemon 2 adm 4
3、while语句
[root@auc-test2 tmp]# gawk -F : '{total=0;i=1;while(i<4){total=total+i;i++};print "total=",total}' passwd total= 6
使用break退出循环
[root@eccs_web awk]# gawk -F : '{total=0; i=1; while(i<4){ total=total+i;if(i==2){ break;} i++ }; print total}' passwd 3 3 3
等价于
[root@eccs_web awk]# gawk -F : '{ total=0 > i=1 > while (i<4) > { > total = total + i > if( i == 2){ > break > } > i++ > } > print "total : ",total > }' passwd total : 3 total : 3
备注:这里的变量i前面没有$符号,课本都弄错了。
4、for循环
[root@eccs_web awk]# gawk -F : '{ > total=0 > for(i = 1; i < 4; i++){ > total += i > } > print "total : ",total > }' passwd total : 6 total : 6
5、数学函数
[root@auc-test2 ~]# gawk 'BEGIN{x=1.43;y=int(x);print y}' 1 [root@auc-test2 ~]# gawk 'BEGIN{x=15.43;y=int(x);print y}' 15
6、字符串函数
[root@auc-test2 ~]# gawk 'BEGIN{name="huangbiao";print toupper(name);print "\n";print length(name)}' HUANGBIAO
7、时间函数
[root@auc-test2 ~]# gawk 'BEGIN{print systime()}' 1418870844 [root@auc-test2 ~]# gawk 'BEGIN{date=systime();day=strftime("%A,%B %d,%Y",date);print day}' 星期四,十二月 18,2014
大小: 80.6 KB
大小: 201.5 KB
大小: 66.1 KB
查看图片附件
相关文章推荐
- Linux学习笔记-结构化命令2
- 转载自马哥视频学习笔记---Linux Web服务器网站故障分析常用的命令之awk用法的简单示例
- IPython下执行shell命令-魔力函数(alias store rehash)- 千月的python linux 系统管理指南学习笔记(6)
- Linux命令与shell脚本编程学习笔记-16创建函数
- Linux学习笔记--结构化命令
- Linux学习笔记_基本命令复习(seq sed awk)
- Linux命令之awk学习笔记
- Linux常用命令学习笔记
- linux学习笔记-目录-命令
- 写得蛮好的linux学习笔记 [转] 二基本命令
- 写得蛮好的linux学习笔记二-常用命令(收藏)
- 写得蛮好的linux学习笔记(三)(压缩命令)
- Linux学习笔记9--touch命令使用
- Linux命令学习笔记
- 编译命令(amlogic open linux)----学习笔记
- linux命令学习笔记
- 写得蛮好的linux学习笔记(二)(一些常用的基本命令)
- Linux学习笔记5--Top命令
- Linux学习笔记-与系统管理有关的命令[转帖]
- linux基本命令学习笔记