awk的BEGIN和END
来源:互联网 发布:学生档案表sql查询 编辑:程序博客网 时间:2024/06/05 22:35
你可能对Unix比较熟悉,但你可能对Unix awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。
流程控制语句是任何程序设计语言都不能缺少的部分。任何好的语言都有一些执行流程控制的语句。Unix awk提供的完备的流程控制语句类似于C语言,这给我们编程带来了极大的方便。
BEGIN和END:
在Unix awk中两个特别的表达式,BEGIN和END,这两者都可用于pattern中(参考前面的awk语法),提供BEGIN和END的作用是给程序赋予初始状态和在程序结束之后执行一些扫尾的工作。
任何在BEGIN之后列出的操作(在{}内)将在Unix awk开始扫描输入之前执行,而END之后列出的操作将在扫描完全部的输入之后执行。因此,通常使用BEGIN来显示变量和预置(初始化)变量,使用END来输出最终结果。
例:累计销售文件xs中的销售金额(假设销售金额在记录的第三字段):
$awk
'BEGIN { FS=":";print "统计销售金额";total=0}
{print $3;total=total+$3;}
END {printf "销售金额总计:%.2f",total}' sx
(注:>是shell提供的第二提示符,如要在shell程序Unix awk语句和Unix awk语言中换行,则需在行尾加反斜杠)
在这里,BEGIN预置了内部变量FS(字段分隔符)和自定义变量total,同时在扫描之前显示出输出行头。而END则在扫描完成后打印出总合计。
0 0
- awk的BEGIN和END
- awk的BEGIN和END
- Unix awk的流程控制BEGIN和END的讲解
- awk语言中BEGIN和END的作用
- awk的BEGIN与END模式
- awk BEGIN END操作
- 迭代器的begin,end和指针的begin,end
- 如何使用 awk 的特殊模式 BEGIN 与 END
- C++中map的begin和end
- vector迭代器的begin()和end()
- 对于begin和end的认识
- [awk] 用-F指定多分隔符,awk的for语句, BEGIN, END
- shell之awk的编程结构--BEGIN/END/重定向/管道
- perl BEGIN和END用法
- 非成员begin()和end()
- perl BEGIN 和END块
- 标准库函数begin和end
- 关于perl中BEGIN和END的使用
- 南阳 32 组合数
- Deep Learning(深度学习)学习笔记整理
- hdu 1308 What Day Is It? (算星期几)
- C++编程
- HTML5游戏引擎中音频的播放策略
- awk的BEGIN和END
- LeetCode - Longest Substring Without Repeating Characters
- poj 1189 DP
- C函数调用与堆栈的变化
- 云计算体系架构研究
- iOS 开发,工程中混合使用 ARC 和非ARC
- armeabi 和armeabi-v7a文件夹的区别
- Codeforces_392B_Tower of Hanoi(记忆化搜索)
- STL 容器