awk实战2-流程控制语句总结

awk一个神奇而又强大的功能,绝对是一个开发利器,效率直选!希望这里的一些总结能帮到那些存在困惑的人!

awk实战1-基础语法说明

awk实战2-流程控制语句总结

awk实战3-awk数组技巧

awk实战4-函数系列-算数函数说明

awk实战5-函数系列-基本字符串函数

awk实战6-函数系列-字符串函数说明-asort和sub

awk实战7-函数系列-时间函数

awk实战8-函数系列-字节操作

awk实战9-IO函数-getline和close

awk实战10-IO函数-其他介绍

awk实战11-进阶-10种awk有效应用实战

awk实战12-进阶-再谈awk匹配模式

awk处理小问题-解决局部jar包替换

文章目录

    • 1 条件判断语句-if
    • 2 循环语句-while
    • 3 循环语句-for
    • 4 循环语句-do
    • 5 其他关键字

上篇总结主要针对awk语法基本使用做出说明,本文主要总结awk的流程控制知识点;

linux awk语句的流程控制基本上c语言规则类似,awk中,if 是流程选择用法。流程控制语句,语法结构,与c语言类型。awk的for、while、do-while语句中允许使用break,continue语句来控制流程走向,也允许使用exit来退出运行。break中断当前正在执行的循环并跳到循环外执行下一条语句。有了这些语句,其实很多shell程序都可以交给awk,而且性能是非常快的。下面是各个语句用法。

1 条件判断语句-if

简单if判断语句:

if(表达式)
  语句1
else
  语句2

多分支语句

if(表达式)
  {
     语句1}
else if(表达式)
  {
     语句2}
else
  {
     语句3}

实例:

awk 'BEGIN{
test=100;
if(test>=90){
  print "very very good";
  }
   else if(test>80 && test <90 ){
    print "very good";
  }
  else if(test>60){
    print "good";
  }
  else{
    print "no pass";
  }
}'

2 循环语句-while

while(表达式)
  {
     语句}

实例:

awk 'BEGIN{
test=100;
total=0;
while(i<=test){
  total+=i;
  i++;
}
print total;
}'

3 循环语句-for

#### 1 - 格式1
for(变量 in 数组)
  {
     语句}
#### 2 - 格式2
for(变量;条件;表达式)
  {
     语句}

实例

格式1:

awk 'BEGIN{
for(k in ENVIRON){
  print k"="ENVIRON[k];
}

}'

格式2:

awk 'BEGIN{
total=0;
for(i=0;i<=100;i++){
  total+=i;
}
print total;
}'

4 循环语句-do

do
{
     语句} while(条件)

实例:

awk 'BEGIN{ 
total=0;
i=0;
do {total+=i;i++;} while(i<=100)
  print total;
}'

5 其他关键字

  • break 当 break 语句用于 while 或 for 语句时,导致退出程序循环。
  • continue 当 continue 语句用于 while 或 for 语句时,使程序循环移动到下一个迭代。
  • next 能能够导致读入下一个输入行,并返回到脚本的顶部。这可以避免对当前输入行执行其他的操作过程。
  • exit 语句使主输入循环退出并将控制转移到END,如果END存在的话。如果没有定义END规则,或在END中应用exit语句,则终止脚本的执行。

你可能感兴趣的:(awk实战,if,for,while,流程控制,awk)